将大文件 Django 存储上传到 AWS S3
Upload Large files Django Storages to AWS S3
我是一个新的Django,我有一个项目需要上传大文件(大小从5G+)。
我正在使用:
- django-storages
- 亚马逊 S3
- Django 3.0.2
- Python 3.7.6
- JQuery3.1
在文档中说,当文件大于2.5MB时,它会转到TemporaryFileUploadHander,这意味着它会先转到/tmp目录,当上传完成后,它会将文件移动到Media Root(在我的例子中是 Amazon S3)
现在,要求是将文件上传流式传输到Amazon S3。
例如:20Gb 文件应该以流的形式(一点一点地)上传到 Amazon S3。
我如何实现这一要求,将文件直接上传到 Amazon S3,而无需先将其放在 /tmp 目录中。
请给我一些光。
无法将文件从 Web 客户端流式传输到 Django,然后再传输到 S3。最好的解决方案是从客户端 JS 将文件拆分成块,然后一个一个地上传。示例代码是 .
尽管如此,此解决方案仍会将较小的文件保存到磁盘。
我是一个新的Django,我有一个项目需要上传大文件(大小从5G+)。
我正在使用:
- django-storages
- 亚马逊 S3
- Django 3.0.2
- Python 3.7.6
- JQuery3.1
在文档中说,当文件大于2.5MB时,它会转到TemporaryFileUploadHander,这意味着它会先转到/tmp目录,当上传完成后,它会将文件移动到Media Root(在我的例子中是 Amazon S3)
现在,要求是将文件上传流式传输到Amazon S3。 例如:20Gb 文件应该以流的形式(一点一点地)上传到 Amazon S3。 我如何实现这一要求,将文件直接上传到 Amazon S3,而无需先将其放在 /tmp 目录中。
请给我一些光。
无法将文件从 Web 客户端流式传输到 Django,然后再传输到 S3。最好的解决方案是从客户端 JS 将文件拆分成块,然后一个一个地上传。示例代码是
尽管如此,此解决方案仍会将较小的文件保存到磁盘。