当前位置:  开发笔记 > 前端 > 正文

图像的Amazon S3临时URL可在IE和Firefox中使用,但不能在Safari中使用

如何解决《图像的AmazonS3临时URL可在IE和Firefox中使用,但不能在Safari中使用》经验,为你挑选了1个好方法。

我正在使用Amazon S3来托管图片.S3存储桶是私有的,因此我生成一个临时URL(使用Right AWS),到期时间为5分钟,以允许渲染图像.URL看起来像这样(注意:下面的URL不起作用):

https://mybucket.s3.amazonaws.com:443/attachments%2F30%2Fsmall.png?Signature=J%2BXzQd95myCNv0Re8arMhuTFSvk%3D&Expires=1235511662&AWSAccessKeyId=1K3MW21E6T8LWBY94C01

这很好用,我可以将URL粘贴到Firefox中并显示图像.IE也是如此.但是,当我在Safari中尝试时,URL似乎已解析但未显示任何图像.类似地,如果我尝试在网页上的IMG标记的src属性中使用URL,则Safari不会呈现任何内容(在所有其他浏览器中都很好),例如:

alt text http://lylo.co.uk/screenshot.png

有没有人见过这种行为,你能否指出我可能做错了什么?



1> Olly..:

通过在S3库中进行一些挖掘,我正在使用我在这里找到了问题.

将文件上载到S3时,必须设置Content-Type标题.在我的情况下,我上传了两个文件,一个是Content-Type为的原始PDF文件application/pdf,另一个是PNG格式的缩略图预览.我用来上传到S3的库确实设置了Content-Type标题,但它正在application/pdf为原始PDF和PNG缩略图设置标题.

似乎Firefox和IE很乐意从S3渲染PNG图像,即使它有错误的Content-Type标题,而Safari根本不喜欢这样,因此不会渲染图像.

因此,修补我正在使用的S3库,以便Content-Type在PNG缩略图上正确设置正确的标头解决了这个问题.

唷.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有