首页 > 解决方案 > Python(WSGI Web 应用程序):上传的文件在第一次被读取之前存储在哪里?

问题描述

对于 Python WSGI Web 应用程序,这里是获取上传文件的基本代码,以便使用 Python 的cgi.FieldStorage.

from cgi import FieldStorage

field_storage = FieldStorage(
    fp=environ['wsgi.input'],
    environ=environ,
    keep_blank_values=True
)

files = {}
for item in field_storage.list:
    if item.filename:
        files[item.name] = field_storage[item.name]            

# Read an uploaded file content
upload_file_content = files['some_uploaded_file'].file.read()

这是哪里来.read()的?或者换句话说,当文件上传到服务器直到它被.read()使用时,上传的文件内容存储在FieldStorage哪里?它是在内存中,还是存储在临时文件中?

提前致谢。

标签: pythonfile-uploadmod-wsgiwsgi

解决方案


根据文档

如果字段表示上传的文件,则通过 value 属性或 getvalue() 方法访问该值会将内存中的整个文件作为字节读取。


推荐阅读