使用Amazon S3链接到Django中的上载文件

时间:2012-08-22 06:57:10

标签: django amazon-s3 sorl-thumbnail django-storage

我正在使用django-storages后端,而我以前没有使用过Amazon S3。我通过Firefox的S3 Manager上传文件,已迁移到Amazon S3。

问题在于,使用此代码:

<a href="{{ MEDIA_URL }}{{ g.photo }}" class="lightbox" title="{{ g.description }}">
    {%  thumbnail g.photo '95x95' crop="center" as im %}
        <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}" />
    {% endthumbnail %}
</a>

生成的请求不包括GET请求中所需的参数,如签名。但是,sorl生成的缩略图有效!

关于在S3上传文件,我有什么遗漏吗?是否还需要在href中添加其他代码?为什么sorl能够检索文件并从中创建缩略图?

1 个答案:

答案 0 :(得分:1)

该文件无法公开访问。这可能发生在上传或存储桶限制上。

您可以将S3 Manager中的ACL设置更改为公共访问权限(如果此文件只能公开访问),或者为存储桶上的细粒度权限创建存储桶策略 - 您可以在AWS控制台。

如果存储桶中的任何文件是公共的,您应该相应地更改S3客户端中的默认ACL设置。