2017-07-31 63 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 –