我正在尝试设计一个系统,将图像从 flutter 应用程序上传到存储桶或 CDN,...。
我想知道是否可以避免双重上传,即将图像发送到我的后端(Node.js API),以及将图像发送到存储桶的上传。
只上传一次,上传文件到bhucket然后将文件的url发送到后端有什么缺陷吗?
谢谢你
生成预签名 URL 以让客户端将特定文件上传到 S3 是一种常见模式。但重要的是,您不允许每个人都写入存储桶。
查看有关使用预签名 URL 上传对象的文档以了解更多详细信息。
简而言之:确保后端生成一个不与其他对象冲突(以免它们被覆盖)的预签名 URL 以及合理的生存时间。请注意,生存时间还受到生成预签名 URL 的凭据的生命周期的限制。这意味着,如果角色的临时凭证的有效期为 3 小时,并且您尝试生成在 6 小时后过期的预签名 URL,则不会失败,但该 URL 将在 3 小时后停止工作。