如果找不到某个特定的图像文件,如何显示默认图像文件?

时间:2015-02-13 07:31:40

标签: html amazon-web-services amazon-s3

我从亚马逊s3存储桶请求用户个人资料照片的图像,但是如果找不到某个用户的图像文件,我想重定向到个人资料照片的备用默认图像文件。如果使用amazon s3可以进行此重定向,那该怎么办?

1 个答案:

答案 0 :(得分:3)

根据您(使用哪种技术)渲染HTML的方式,有不同的解决方案。 例如,这是一个简单的HTML解决方案:

<body>
  <object data="https://assets.mozilla.org/Brands-Logos/Firefox/logo-only/invalid_image.png" type="image/png">
    <img src="https://assets.mozilla.org/Brands-Logos/Firefox/logo-only/firefox_logo-only_RGB.png" />
  </object>
</body>

如果invalid_image.png不存在,则会显示firefox_logo-only_RGB.png

<强> [编辑]

为了通过s3存储桶处理默认图像,可以这样做:

  1. 将默认图像(例如 default_image.png )上传到存储桶(例如 my_image_bucket )。
  2. 更新存储桶属性。 Bucket Properties > Static Website Hosting > Error Document ==&gt;在文本框中设置 default_image.png
  3. 现在,只要找不到文件,default_image.png就会显示出来。

    例如

    <body>
       <!-- This will result in default_image.png being rendered -->
       <img src="http://my_image_bucket.s3-website-ap-southeast-1.amazonaws.com/invalid_image.png" />
       <!-- The actual image will be rendered -->
       <img src="http://my_image_bucket.s3-website-ap-southeast-1.amazonaws.com/valid.png" />
    </body>
    

    PS :请确保您使用s3端点作为Static Website Hosting部分中显示的内容。