Django:如何进行可疑文件 *** 作复制文件

Django:如何进行可疑文件 *** 作复制文件,第1张

Django:如何进行可疑文件 *** 作/复制文件

分析堆栈跟踪的这一部分:

File "C:Python27libsite-packagesdjangocorefilesstorage.py", line 261, in path    raise SuspiciousFileOperation("Attempted access to '%s' denied." % name)

导致标准的Django

FileSystemStorage
。它期望文件位于你的MEDIA_ROOT。你的文件可以在文件系统中的任何位置,因此会发生此问题。

你应该传递类似文件的对象,而不是

File
模型的路径。最简单的方法是使用Django
File
类,该类是类似python文件的对象的包装。有关更多详细信息。

更新:

好的,我建议从文档中选择一条路线:

from django.core.files import File as FileWrapperdef _handle_directory(self, directory_path, directory):    for root, subFolders, files in os.walk(directory_path):        for filename in files: self.cnt_files += 1 new_file = File(      directory=directory, filename=filename,      file=os.path.join(root, filename),      uploader=self.uploader) with open(os.path.join(root, filename), 'r') as f:     file_wrapper = FileWrapper(f)     new_file = File(         directory=directory, filename=filename,         file=file_wrapper,         uploader=self.uploader)     new_file.save()

如果可行,则应将文件复制到

secure_storage
可调用对象提供的位置。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5017674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存