现在,我意识到上传过程是这样的:
1. 生成 HTTP 请求对象,并将值设置为请求。使用上载处理程序进行文件。
2. 在 views.py 中,作为 FileField 镜像的 FieldFile 实例将调用 storage.save(( 上传文件。
所以,如你所见,django 总是使用缓存或磁盘来传递数据,如果你的文件太大,它会花费太多时间。
我想解决这个问题的设计是自定义一个上传处理程序,它将通过使用输入原始数据调用 storage.save((。唯一的问题是我如何修改文件字段的操作?
感谢您的任何帮助。
你可以使用这个包
将直接上传到 AWS S3 功能,并将进度条添加到文件输入字段。
https://github.com/bradleyg/django-s3direct
您可以使用以下软件包
之一 https://github.com/cloudinary/pycloudinary
http://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html