python - 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
哪里?它是在内存中,还是存储在临时文件中?
提前致谢。
解决方案
根据文档:
如果字段表示上传的文件,则通过 value 属性或 getvalue() 方法访问该值会将内存中的整个文件作为字节读取。
推荐阅读
- github - Appveyor、GitHub、repo 中的多个项目
- c# - 中兴PDF417识别
- security - 如何在不访问互联网的情况下在沙箱中执行 Python 或 Go 脚本?
- c++ - 简单问题 - 如何从单独的“结构”中的“类”访问变量?
- javascript - 如何为 TypeORM 实体中的 @PrimaryGeneratedColumn 设置自定义默认唯一 ID 字符串?
- android - SecondActivity.class 文件未与以红色显示的意图对象链接
- c++ - 如何检查cpp中给定输入的数据类型?
- c# - 无法访问公共接口的属性
- docker - 访问 docker 容器内的其他 docker 服务时超时
- sql-server - IF EXISTS.... DROP 在存储过程中不起作用