我是新来的Django,我有一个项目应该上传大文件(大小从5G +起)。
我正在使用:
在文档中,它说,当文件大于2.5MB时,它将转到TemporaryFileUploadHander,这意味着它将首先转到/ tmp目录,并且在上传完成后,它将文件移至Media Root(在我的就是Amazon S3)
现在,要求是将文件上传流传输到Amazon S3。 例如: 20Gb文件应以流方式(一点一点地)上传到Amazon S3。 我如何实现此要求以将文件直接直接上传到Amazon S3,而无需先将文件上传到/ tmp目录。
请给我一点光。
答案 0 :(得分:0)
无法将文件从Web客户端流传输到Django,再到S3。最好的解决方案是将文件从客户端JS拆分为多个块,然后将它们一个接一个地上传。示例代码为here。
尽管如此,该解决方案仍会将较小的文件保存到磁盘。