我正在做一个Django项目。我在AmazonS3上托管了我的静态文件。它已成功上载到它。但是,当我运行服务器时,图像没有加载。 当我检查图像字段时,它显示: 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 bucket时,需要使您的资源(文件)可以公开访问。您可以在上传到S3时以编程方式进行,也可以从AWS控制台进行。请检查如何启用对文件的公共访问here
我不确定这是否有效。您可以尝试在s3上启用静态主机吗
s3上的png文件如下所示(顺便说一句,链接可以工作):
增编: 如果要查看文件的url:
确保您已经更改了S3存储桶的公共访问设置,以便允许应用程序访问文件(使用正确的凭据)
您的要求可能会有所不同,因此请查看他们的user manual
检查bucket下的Permissions选项卡
或者,您也可以查看S3存储桶上允许的操作,它必须配置为允许读/写。参考the docs了解一些示例
相关问题 更多 >
编程相关推荐