有没有办法将 request.FILES
中的文件视为磁盘文件?我想做这样的事情:
with open(file_in_request, 'rb') as file:
#read data from that file
只是,我不想先将它保存到磁盘。我将加密该文件并将加密的文件保存到磁盘。
最佳答案
TLDR:通过将 FILE_UPLOAD_MAX_MEMORY_SIZE
Django 变量修改为足够大的值以将文件保存在内存中。
默认情况下,Django 在内存中存储大小为 2.5 MB 的文件,大于该大小的文件存储在临时磁盘位置。
此行为的原因是在内存中保存大文件会使您的系统不堪重负。 Read it here in docs .
在您的情况下,如果您知道最大文件大小并且确定它不会大到足以填满您的计算机内存,您可以将阈值 FILE_UPLOAD_MAX_MEMORY_SIZE
变量修改为足够大值以确保所有文件都在内存中。
来自docs :
The maximum size (in bytes) that an upload will be before it gets streamed to the file system. See Managing files for details
关于python - 如何在不将文件保存到磁盘的情况下从 request.FILES 打开和读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47567380/