2012-08-22 96 views
1

我使用的是django-storages後端,而我以前沒有使用Amazon S3。通過Firefox的S3管理器上傳文件,我已經遷移到Amazon S3。使用Amazon S3鏈接到Django中的上傳文件

的問題是,在該代碼:

<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能夠檢索文件並從中創建縮略圖?

+0

缺少一些信息:S3存儲桶中的文件是否是私人的?如果不是,你不需要簽名。你的MEDIA_URL設置爲什麼? – schneck

+0

我不認爲他們是。因爲它們被sorl正確顯示。但是原始圖像的鏈接(無法使用)不起作用。 – yretuta

+0

那麼,你能顯示你的MEDIA_URL設置嗎?並請顯示{{im.url}}在您的html代碼中顯示的內容。 – schneck

回答

1

該文件不能公開訪問。這可能發生在上傳或由於存儲區限制。

您可以將S3 Manager中用於此文件的ACL設置更改爲公共訪問權限(如果只有該文件應該是公衆可讀的),或者爲存儲桶上的精細權限創建存儲桶策略 - 您可以在AWS控制檯。

如果存儲桶中的任何文件都是公共的,則應相應地更改S3客戶端中的默認ACL設置。

+0

謝謝!我只需要製作他們公開的文件或目錄! – yretuta