我们正在构建基于java的图形用户界面来上传非常大的文件到S3存储桶。我们从API得到预签名的URL,然后点击这个URL来上传我们的文件。
现在,由于文件非常大(10+ GB),我们希望显示用户数据传输统计数据(例如,传输了多少数据,传输速率等)。
重要说明-我们没有获得访问存储桶的AWS ID-KEY,因此我们无法使用AWS SDK。
任何指针都将是有帮助的和感激的。
发布于 2020-04-17 05:48:53
首先,我强烈建议您重新考虑放置签名URL的决定。对于单个PUT,任何网络问题都意味着你必须从头开始,这对于任何使用比Gbit网络更慢的人来说都是痛苦的。Java SDK提供了一个传输管理器,它会自动将文件拆分成块,并重新发送任何失败的块。另外,它还为您提供了进度报告程序。
是的,我知道你说过你拿不到API密钥。但是,无论提供给您签名的URL是什么,都可以很容易地为您提供范围仅限于单个文件上传的API密钥。
好了,你不能走那条路。不幸的是,您没有显示当前用于上传的代码,因此我们不知道您有哪些可用的选项。因此,我假设您使用的是Apache Commons HttpClient,并指向this Stack Overflow answer。
https://stackoverflow.com/questions/61258820
复制相似问题