首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Retrofit + AWS预签名的S3上传多个图像,我是否应该对PUT请求使用循环?

Retrofit + AWS预签名的S3上传多个图像,我是否应该对PUT请求使用循环?
EN

Stack Overflow用户
提问于 2020-01-11 11:58:42
回答 1查看 427关注 0票数 1

我有一个AWS Lambda函数,用户向该函数发送GET request,它会返回预签名的URL。然后,用户通过向该URL发出PUT请求来上传图像。由于亚马逊网络服务S3 PUT requests将对象上传限制为每个URL仅一个,

如何发送多张图片?我是否应该在当前图像数量上使用循环,例如:

假设用户想要上传5张图片。

代码语言:javascript
运行
复制
for(...5 images...){
   Make GET request to generate URL
   In the callback method, 
   Make a PUT request to the generated URL to upload image
} 

我不确定这项服务是否应该这样使用。这也导致了另一个问题,比如如果我想要所有的图像都上传并保存到我的数据库中,或者没有保存。因为在PUT request's post处理Lambda函数中,我希望将该S3图像URL保存到我的数据库中,所以如果网络故障,我如何确保上传所有图像,而不是只上传其中的3/5?

EN

Stack Overflow用户

回答已采纳

发布于 2020-01-11 13:02:37

你是正确的。预先签名的url被专门生成以上载单个文件。

如果你想实现这样的原子行为,所有的文件都上传了,或者没有上传,你将需要自己实现这样的逻辑。

例如,将所有文件上载到不同的S3位置。然后,您应该有一个服务或功能来移动文件到实际位置,一旦所有的文件都上传了。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59691516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档