将大文件 Django 存储上传到 AWS S3

Upload Large files Django Storages to AWS S3

我是一个新的Django,我有一个项目需要上传大文件(大小从5G+)。

我正在使用:

在文档中说,当文件大于2.5MB时,它会转到TemporaryFileUploadHander,这意味着它会先转到/tmp目录,当上传完成后,它会将文件移动到Media Root(在我的例子中是 Amazon S3)

现在,要求是将文件上传流式传输到Amazon S3。 例如:20Gb 文件应该以流的形式(一点一点地)上传到 Amazon S3。 我如何实现这一要求,将文件直接上传到 Amazon S3,而无需先将其放在 /tmp 目录中。

请给我一些光。

无法将文件从 Web 客户端流式传输到 Django,然后再传输到 S3。最好的解决方案是从客户端 JS 将文件拆分成块,然后一个一个地上传。示例代码是 .

尽管如此,此解决方案仍会将较小的文件保存到磁盘。