我正在阅读Amazon S3分段上传REST API的官方文档,我想知道是否可以通过AJAX使用此API。
我要问的原因是我尝试从浏览器将非常大的文件(> 5GB)上传到S3存储桶,我知道有一种S3 upload API for Javascript和一种leveraging AJAX to upload file to S3的方式,但是没有这些解决了大文件问题。
我能想到的不支持使用AJAX的MultiPart上传API的原因是浏览器无法拆分本地文件,但我想确保确实如此。
附近的人是否曾经在AJAX中使用过分段上传api,或者如果不可能这样做,人们通常如何处理从浏览器上传的大文件?
提前致谢!
答案 0 :(得分:0)
我认为您不必为此使用Rest API。根据以下AWS博客文章Announcing the Amazon S3 Managed Uploader in the AWS SDK for JavaScript,您链接的javascript示例中使用的s3.upload()方法确实支持大文件的分段上传。包含一个浏览器示例,尽管它使用bucket.upload而不是s3.upload。它还包括跟踪进度,配置并发性和零件大小以及处理故障的示例。
关于浏览器上传,它确实说:“为了支持浏览器中的大文件上传,必须确保CORS配置公开ETag标头;否则,分段上传将不会成功。有关更多信息,请参见指南有关如何公开此标头的信息。”
可能,与您链接的示例的“配置CORS”部分中列出的方法相比,CORS配置可能还需要允许更多的方法。