我已将图片上传到 Amazon S3 存储。但如何通过 URL 访问此图片?我已将文件夹和文件设为公开,但如果尝试通过 URL 访问,仍会收到 AccessDenied 错误https://s3.amazonaws.com/bucket/path/image.png
答案1
S3 通常“正常工作” - 上传文件、设置权限并访问 URL。如果不行(并且他们的服务正常运行),问题通常是 URL 错误或浏览器缓存。
- 使用 ctrl+F5 或 ctrl+shift+R 清除浏览器缓存并重新加载页面
- 验证权限(例如使用程序(CloudBerry Explorer、Cloudbuddy 等)或使用 AWS 控制台)
- 尝试路径的替代形式:
https://<bucket>.s3.amazonaws.com/path/to/file.ext
- 尝试直接从 AWS 控制台单击链接;使用“打开”链接包含您的访问密钥,并将绕过 ACL 设置 - 不要将该链接用于任何公共内容,但要确保它能正常工作。
我真的建议使用程序(例如上面的程序)并复制和粘贴 URL 进行测试 - 这大大降低了 URL 不正确的可能性。如果上述方法没有帮助,您可能需要提供更多信息以便诊断问题。
答案2
要通过 URL 访问私有图像,您必须提供查询字符串身份验证查询字符串身份验证版本 4 需要 X-Amz-Algorithm、X-Amz-Credential、X-Amz-Signature、X-Amz-Date、X-Amz-SignedHeaders 和 X-Amz-Expires 参数。