这有点棘手,我刚才看了一下。基本上,当我们进行“强制下载”时(即点击附件链接或图片上的“下载”按钮时),我们总是通过预签名 URL 从 S3 下载。这样做是为了添加适当的 content-disposition 头:
attachment; filename="#{upload.original_filename}"; filename*=UTF-8''#{upload.original_filename}
我认为 CDN URL 无法以这种方式工作?图片的 CDN URL 仅用于内联显示,而不用于下载。此外,对于具有私有 ACL 的安全图片和附件,必须始终使用预签名 URL。