gpt4 book ai didi

python - 有什么办法django不保存用表单上传的文件

转载 作者:行者123 更新时间:2023-11-30 23:39:23 25 4
gpt4 key购买 nike

我有 django 表单,用户可以在其中附加文件,但我正在从文件本身提取 pdf 表单数据,所以我不想保存文件。

但是当我保存表单时,文件会自动保存。有什么办法可以防止文件被保存吗?

谢谢

最佳答案

当文件上传到您的服务器时,django 根据您指定的 FILE_UPLOAD_HANDLER 处理上传的文件。默认情况下,它们是:-

("django.core.files.uploadhandler.MemoryFileUploadHandler",
"django.core.files.uploadhandler.TemporaryFileUploadHandler",)

这意味着文件对象位于您的服务器内存中,直到调用 form.save() (其中 form 对象包含您上传的文件)。调用后,文件对象将根据您在该文件字段的 upload_to 属性中指定的内容写入文件系统。

为了防止此上传的文件写入您的文件系统,我要做的就是将此文件对象分配给一个变量,而不调用form.save()。像这样:-

uploaded_file = request.FILES['file']

我们可以故意不分配request.FILES,如下所示:-

form = MyModelFormWithFileField(request.POST, None)

由于您已经分配了 uploaded_file 变量,因此您现在可以对其执行任何您想要的操作,而无需将其写入文件系统。

由于您的 form 实例没有分配 request.FILESform.save() 不会将您的表单数据写入文件系统。

关于python - 有什么办法django不保存用表单上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13617833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com