更改上传文件大小限制
我的django上传文件工具代码是https://rorschachchan.github.io/2018/12/19/Django实现图片上传/ 这么写的,但是发现再上传大的图片(7M左右的GIF图片)时,出现了413的错误提示:
我上传的方法request.FILES.getlist,但是文件的体积太大了,所有就有这样的错误。去django的官方文档https://docs.djangoproject.com/en/2.2/ref/settings/#file-upload-max-memory-size 查了一下:

原来django默认的上传文件大小是2.5M,小于2.5M时,会放在InMemoryFileUploadFile(内存里面)对象里面;大于2.5M时,会放在TemporaryFileUploadFile(磁盘文件)里面。于是我们就要更改一下这个大小,改成25M。这个要谨慎使用,小心内存溢出。
打开settings.py,增加一句
1
2FILE_UPLOAD_MAX_MEMORY_SIZE = 26214400 #上传文件大小,改成25M
DATA_UPLOAD_MAX_MEMORY_SIZE = 26214400 #上传数据大小,也改成了25M
保存之后,django会自动重启,再次尝试传输单个大文件,应该就会成功了。
其实这个改动不仅仅是单个文件小于25M,假如是批量上传,所选的文件加起来总量小于25M都可以一并传上去了。
参考资料
https://stackoverflow.com/questions/55190498/413-payload-too-large-on-django-server
https://github.com/django/django/blob/master/django/conf/global_settings.py#L297