如何从中打开和读取文件文件.request不保存到dis

2024-04-26 18:51:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以将request.FILES中的文件与磁盘文件相同?我想这样做:

with open(file_in_request, 'rb') as file:
        #read data from that file

只是,我不想先把它保存到磁盘上。我将加密该文件并将加密文件保存到磁盘。在


Tags: 文件方法infromreaddatathatrequest
1条回答
网友
1楼 · 发布于 2024-04-26 18:51:30

TLDR:将FILE_UPLOAD_MAX_MEMORY_SIZEDjango变量修改为足够大的值,以便将文件保存在内存中。在


默认情况下,Django将大小为2.5 MB的文件存储在内存中,大于该大小的文件存储在临时磁盘位置。在

这种行为的原因是,将大文件保存在内存中会使系统负担过重。Read it here in docs。在

在您的例子中,如果您知道最大文件大小并且确信它不会足够大来填满您的计算机内存,您可以将threshold valueFILE_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

相关问题 更多 >