同样是存储在 oss 的图片,为何一个直接显示一个弹下载?

2020-12-02 09:32:35 +08:00
 tlerbao

下面两个地址同样是存储在 oss 的两个图片,复制到地址栏访问为何一个直接显示,一个却弹下载,很灵异啊。

https://talent-miaoqiang.oss-cn-hongkong.aliyuncs.com/2018/05/3731036242.png

https://talent-pic.oss-cn-beijing.aliyuncs.com/markdown/20201202/3731036242.png

1956 次点击
所在节点    问与答
5 条回复
tlerbao
2020-12-02 09:38:24 +08:00
rimutuyuan
2020-12-02 09:41:03 +08:00
设置为 inline,如果浏览器支持该文件类型的预览,就会打开,而不是下载:

response.setHeader("Content-Disposition", "inline; filename=111.jpg");
设置为 attachment,浏览器则直接进行下载,纵使他能够预览该类型的文件。

response.setHeader("Content-Disposition", "attachment; filename=111.jpg");
特别说明:Chrome 不设置 Content-Type 也会自动打开,如果是它可识别预览的文件。


百度来的
starzh
2020-12-02 09:44:00 +08:00
https://help.aliyun.com/noticelist/articleid/1060057906.html?spm=a2c4g.789965003.n2.18.12886141R2k7xV
升级内容:出于安全考虑,从 2019 年 9 月 23 日起,针对之后新建的 Bucket,直接使用 OSS 提供的默认域名,从互联网访问 OSS 上该 Bucket 的图片类型文件,即 mimetype 为以下值:
image/jpeg 、image/gif 、image/tiff 、image/png 、image/webp 、image/svg+xml 、image/bmp 、image/x-ms-bmp 、image/x-cmu-raster 、image/exr 、image/x-icon 、image/heic,扩展名包括:jpg 、jpeg 、jpe 、png 、tif 、tiff 、gif 、svg 、bmp 、ico 、ras 、dib 、svgz 、webp 、bm 、jfif 、x-png 、exr 和 heic 时,Response Header 中会自动加上 Content-Disposition:'attachment=filename;'。即从浏览器访问图片类型文件时,会以附件形式进行下载。
用户使用自有域名访问 OSS 的请求,Response Header 中不会加上此信息。如何使用自有域名访问 OSS,请参考 OSS 帮助文档“绑定自定义域名”。
注:2019 年 9 月 23 日 0 点之前已创建的 Bucket 不在影响范围以内。

Bucket 创建的时间不一样
Xusually
2020-12-02 09:47:15 +08:00
其实就是变相的免责
lyusantu
2020-12-02 10:26:51 +08:00
受教了,之前想换个 bucket 的名称来着,换完之后一直都无法预览图片,就放弃了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/731217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX