图像不是从 Amazon S3 存储桶加载的
Images are not loading from an Amazon S3 bucket
我正在做一个 Django 项目。我在 Amazon S3 上托管了我的静态文件。它已成功上传到它。但是,当我 运行 服务器时,图像没有加载。
当我检查它显示的图像字段时:
https://django-ecommerce-files.s3.amazonaws.com/images/logo.png%22%20id=%22image%22%20style=%22width:%2040px;%20height:40px%22%3E
当我双击它时。它显示此错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>07PX6KHYASHT3008</RequestId>
<HostId>pJCxChq1JHlw/GL0Zy/W+PvX1TevOf/C60Huyidi8+0GMAs8geYlXSrEgo6m9vllL0PouTn6NAA=
</HostId>
</Error>
我不确定这是否有效。您可以尝试在您的 s3 上启用静态托管吗?
- 转到你的 s3。
- 转到属性,向下滚动到底部
- 启用静态托管
s3 上的 png 文件看起来像这样(link 顺便说一句):
https://aws-cicd-react.s3.ap-southeast-1.amazonaws.com/logo512.png
附录:
如果您想查看文件的 url:
- 在您的 s3 中,单击该文件,然后转到属性
- 查看对象URL
使用 S3 存储桶时,需要使您的资源(文件)public易于访问。您可以在上传到 S3 时以编程方式执行此操作,也可以从 AWS 控制台执行此操作。请检查如何启用 public 访问您的文件 here
确保您已更改 public S3 存储桶的访问设置,以便它允许您的应用程序访问文件(使用正确的凭据)。
您的要求可能会有所不同,因此请查看他们的 user manual。
检查存储桶下的权限选项卡。
或者,您也可以查看 S3 存储桶上允许的操作,它必须配置为允许 read/write。参考 the docs 几个例子
我正在做一个 Django 项目。我在 Amazon S3 上托管了我的静态文件。它已成功上传到它。但是,当我 运行 服务器时,图像没有加载。 当我检查它显示的图像字段时: https://django-ecommerce-files.s3.amazonaws.com/images/logo.png%22%20id=%22image%22%20style=%22width:%2040px;%20height:40px%22%3E 当我双击它时。它显示此错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>07PX6KHYASHT3008</RequestId>
<HostId>pJCxChq1JHlw/GL0Zy/W+PvX1TevOf/C60Huyidi8+0GMAs8geYlXSrEgo6m9vllL0PouTn6NAA=
</HostId>
</Error>
我不确定这是否有效。您可以尝试在您的 s3 上启用静态托管吗?
- 转到你的 s3。
- 转到属性,向下滚动到底部
- 启用静态托管
s3 上的 png 文件看起来像这样(link 顺便说一句):
https://aws-cicd-react.s3.ap-southeast-1.amazonaws.com/logo512.png
附录: 如果您想查看文件的 url:
- 在您的 s3 中,单击该文件,然后转到属性
- 查看对象URL
使用 S3 存储桶时,需要使您的资源(文件)public易于访问。您可以在上传到 S3 时以编程方式执行此操作,也可以从 AWS 控制台执行此操作。请检查如何启用 public 访问您的文件 here
确保您已更改 public S3 存储桶的访问设置,以便它允许您的应用程序访问文件(使用正确的凭据)。
您的要求可能会有所不同,因此请查看他们的 user manual。
检查存储桶下的权限选项卡。
或者,您也可以查看 S3 存储桶上允许的操作,它必须配置为允许 read/write。参考 the docs 几个例子