2017-07-31 109 views
0

我缺少什麼權限或者是其他內容?S3鏈接時自動下載圖片

我們使用S3進行存儲併爲中等流量的網站提供圖像。 我們構建了一個自定義縮略圖滑塊,可將小縮略圖圖像以不同分辨率鏈接到較大的滑塊圖像。

在S3進場之前,圖像會互相鏈接。現在,一旦縮略圖被點擊,圖像就會自動下載,而不僅僅是鏈接到較大的圖像。有什麼想法嗎?

這是代碼,但這只是一個真正的S3問題。謝謝!

<div class="thumbnails" itemscope itemtype="http://schema.org/ImageGallery"> 
    <ul id="easy-slide"> 
     <i id="prev" class="fa fa-arrow-circle-o-left" aria-hidden="true"></i> 
     {thumbnails} 
     <li itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject"> 
     <a href="{thumbnails:large}" itemprop="contentUrl" data-size="500x500"> 
      <img src="{thumbnails:thumb}" height="100px" width="100px" itemprop="thumbnail" alt="Image description" /> 
     </a> 
     </li> 
     {/thumbnails} 
    <i id="next" class="fa fa-arrow-circle-o-right" aria-hidden="true"></i> 
    </ul> 
</div> 
+1

執行圖像有正確的MIME類型?圖像/ JPEG或圖像/ PNG等?如果沒有,您需要更改或重新上傳新的MIME類型 –

+0

有沒有辦法爲整個文件夾或存儲桶策略設置?我不確定如何檢查。 –

+0

檢查確定。使用'curl -I -v http:// www.example.com/image.jpg'並確認'Content-Type' –

回答

0

可能是內容類型問題。將圖像上傳到S3時,未設置正確的MIME類型。

只是爲了確認,檢查返回的MIME類型:

curl -I -v http://www.example.com/image.jpg 

然後,你將需要設置在S3元數據正確的內容類型。要更新S3對象的元數據,可以將對象複製到自身,並在命令行中指定內容類型。

StackOverflow:如何使用我更改了內容類型對象的AWS CLI?:

$ aws s3api copy-object --bucket archive --content-type "image/jpg" \ 
    --copy-source archive/test/image.jpg--key test/image.jpg \ 
    --metadata-directive "REPLACE" 

要回答你的問題:

有沒有設定一個辦法整個文件夾或存儲桶策略?

S3實際上沒有文件夾/目錄。您需要通過CLI觸摸每個對象以更改其內容類型。見What is the difference between Buckets and Folders in Amazon S3?。但是我在下面引用的命令將在整個存儲桶中執行該操作。

因此,您將需要使用S3 CLI更新內容類型元數據。下面是該各種各樣的命令行方法的另一個答案,這將改變所有的內容類型爲給定類型的所有文件(如PNG),遞歸:

aws s3 cp \ 
     --exclude "*" \ 
     --include "*.png" \ 
     --content-type="image/png" \ 
     --metadata-directive="REPLACE" \ 
     --recursive \ 
     --dryrun \ 
     s3://mybucket/static/ \ 
     s3://mybucket/static/ 

https://serverfault.com/questions/725562/recursively-changing-the-content-type-for-files-of-a-given-extension-on-amazon-s

+0

感謝您的輸入。但是內容類型已經設置爲image/png。任何其他想法? –

+0

有趣。你如何確認內容類型?只是想知道。,另外,你可以包含一個圖像的鏈接? –

+0

curl -I -v http://s3.amazonaws.com/dpec/assets/images/homepageads/36-6020_5_hero_large.png –