Django:FILE_UPLOAD_MAX_MEMORY 与 DATA_UPLOAD_MAX_MEMORY

2024-04-01

我正在使用 Django 2.2,并陷入了文件上传大小验证的困境。我已阅读 django 文档:

DATA_UPLOAD_MAX_MEMORY_SIZE https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-DATA_UPLOAD_MAX_MEMORY_SIZE
文件上传最大内存大小 https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-FILE_UPLOAD_MAX_MEMORY_SIZE

我只设置 DATA_UPLOAD_MAX_MEMORY (为 20 MB),如文档中所述:

检查在访问 request.body 或 request.POST 时完成,并且是 根据不包括任何文件上传的总请求大小计算 数据。

但在我的项目中,它还会检查 request.FILES 中我上传的文件大小。

有人可以解释 FILE_UPLOAD_MAX_MEMORY 和 DATA_UPLOAD_MAX_MEMORY 之间的区别吗?以及如何正确使用它们?


数据上传最大内存

检查在访问 request.body 或 request.POST 时完成,并根据总请求大小进行计算不包括任何文件上传数据。

文件上传最大内存大小

上传的最大大小(以字节为单位)在它被传输到之前文件系统。如果上传的文件大于FILE_UPLOAD_MAX_MEMORY_SIZE,文件的数据将被流式传输到文件上传临时目录 https://docs.djangoproject.com/en/2.2/ref/settings/#file-upload-temp-dir https://docs.djangoproject.com/en/2.2/ref/settings/#file-upload-temp-dir

我认为你不必设置FILE_UPLOAD_MAX_MEMORY_SIZE,因为它是内存缓存的大小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:FILE_UPLOAD_MAX_MEMORY 与 DATA_UPLOAD_MAX_MEMORY 的相关文章

随机推荐