OSS学院:为什么我的图片会被下载?怎么在线播放影音?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

OSS学院:为什么我的图片会被下载?怎么在线播放影音?

2013-09-13 16:40:00 36001 15
不少同学开始使用oss存放自己的网站静态资源,包括图片,css、js以及一些媒体文件。不过很多人都遇到一个问题:把oss的图片地址复制到浏览器,没有显示,而是弹出了下载窗口,这是怎么回事呢?

论坛上有不少关于这个问题的帖子,虽然不影响在网页当中的使用,但我们有必要深入研究一下。实际上这跟文件的HTTP Header有关,我们把文件保存在OSS的时候,很多属性默认都是空的,所以产生了影响。

我们上传一张图片的时候,会得到这样的一个地址
http://ossheader.oss.aliyuncs.com/Teemo.jpg

这是默认的情况,我们在浏览器当中打开,不会显示,而是弹出下载窗口

我们要给图片增加属性,点每个文件后面的“属性”链接,打开属性浮动层,切换到“HTTP表头设置”,可以看到默认只有一个Content-Type属性,这是oss自动生成的,不同的文件类型各不相同,如jpg图片是image/jpeg、css文件是text/css,这个属性传播得比较广,不少人都有所了解,切忌不要随意修改,这些命名都是有国际规范的,大家有兴趣可以到w3c等地方深入了解。 http://www.w3school.com.cn/media/media_mimeref.asp





Content-Type由oss自动生成,一般不用我们操心。这里控制文件下载与显示,是另一个属性:
Content-Disposition


大家可以在下拉列表里找到这个属性,如果要显示一个文件,需要给他设置
inline



给大家一些效果:
图片: http://ossheader.oss.aliyuncs.com/Teemo_2.jpg

像音乐、视频文件也支持这么设置,如果你使用谷歌浏览器,点进去就能在浏览器播放
丁当—猜不透: http://ossheader.oss.aliyuncs.com/caibutou.mp3
某汽车广告mp4: http://ossheader.oss.aliyuncs.com/07.mp4






如果想下载一个文件,应该这么设置
attachment;filename="文件名.后缀"

比如: http://ossheader.oss.aliyuncs.com/84.jpg


看上去他是一个刮胡刀(图片),实际上他的确是一个刮胡刀(图片),但是你打开却发现他是一个电吹风(zip压缩文件)



这样大家应该很清楚这个属性的作用了,图片img标签、以及css引用,不设置也ok,只是专门打开会被下载,这一点上阿里云官方论坛也趟枪了,因为同样用的oss,点一下图片就会下载,这方面大家根据自己的情况考虑。

同时,一些你想下载的文件,推荐都进行设置。不设置有什么问题?大多数时候没问题,不过这种http头不规范,各种乱七八糟的浏览器,Windows、安卓等各种系统下,可能会导致两个问题:中文文件名乱码、文件后缀没有或者变了
取消 提交回答
全部回答(15)
  • 简单爱0107
    2015-12-31 10:03:59
    回 14楼姚大嘴的帖子
    这个帖子已经是很久之前的了,上面介绍的方法已经失效了,要不强制下载现在要绑定自定义域名,或者结合CDN使用
    0 0
  • oss-dev
    2015-12-31 09:19:21
    有两个条件必须具备的:
    1. 用自己的域名访问,也就是需要cname
    2. 文件的Content-Type是否设置正确了,如果是application/oct-stream那肯定是下载的。
    0 0
  • 姚大嘴
    2015-12-30 22:32:09
    阿里云什么鬼东西啊,改了还是不行,
    改了为什么还是下载,难道还要重启什么吗?小白真心不知道,求教啊。

    -------------------------

    回 15楼oss-dev的帖子
    好吧,谢谢你了,准备安心用七牛了,阿里云太麻烦了,不搞了。
    0 0
  • jscopyright
    2015-04-10 17:45:05
    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    前提是不是要配置cname啊
    0 1
  • 毕姥爷
    2013-12-23 04:44:01
    回 10楼(ftp4oss) 的帖子
    如何配合ftp4oss批量设置,正为这个事头疼
    0 0
  • ftp4oss
    2013-12-18 21:28:07
    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    这个帖子写的很好,很实用~~~
    能帮助站长做好资源设置

    同时配合Ftp4oss可以达到批量设置的目的~~~

    -------------------------

    回11楼毕姥爷的帖子
    你好,不好意思啊,一直没看站内信,今天刚看到您的这个需求
    我们的Ftp4oss工具可以设置HTTP表头, http://bbs.aliyun.com/read.php?spm=0.0.0.0.X9T2cd&tid=146061

    如果您的图片不太多,可以直接使用我们的FTP云服务来实现,图片在线显示而不是下载,如果您有大量的图片需要设置,那么可以使用我们提供的FTP云工具来完成这个大量的工作~
    http://fuwu.aliyun.com/product/product_detail.htm?spm=0.0.0.0.TubUKH&productId=cmgj000208


    如有问题,可以联系我们的QQ来进一步咨询!
    0 0
  • 小猪猪
    2013-12-17 20:11:43
    比喻真是。。。碉堡
    0 0
  • tubao
    2013-11-26 15:56:23
    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    是啊,如果是论坛附件,那那么多图片怎么弄,不是要麻烦的很

    -------------------------

    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    发现阿里云也是这样,拖拽图片,就会提示下载,而不是在浏览器中直接打开
    0 0
  • xiusheji
    2013-11-26 11:49:13
    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    不会每个文件都设置一边吧?  可不可以设置所有图片类 打开,压缩类文件下载

    -------------------------

    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    有什么方法能够整体设置图片不是下载而是打开??  要是一个个设置太麻烦了
    0 0
  • 帅鑫诏
    2013-10-27 13:28:49
    ReOSS学院:为什么我的图片会被下载?怎么在线播放影音?
    正为这问题头疼,谢谢LZ的教程
    0 0
  • asky8
    2013-09-15 14:24:43
    给你加分了  感谢你写出教程
    0 0
  • 看头像
    2013-09-14 22:03:05
    学习了
    0 0
  • 淡缕凝风
    2013-09-13 19:40:15
    感谢楼主无私的精彩分享!
    阿里云社区有您更加美好!
    0 0
滑动查看更多
相关问答

1

回答

oss上传图片报错

2021-02-19 12:30:38 448浏览量 回答数 1

1

回答

上传图片到oss,报错

2019-07-29 16:38:29 771浏览量 回答数 1

2

回答

上传图片到oss 上报错

2018-11-09 17:02:37 407浏览量 回答数 2

5

回答

OSS上传图片报错 IncorrectNumberOfFilesInPOSTRequest

2016-10-27 11:38:09 11273浏览量 回答数 5

2

回答

OSS上传图片报错 IncorrectNumberOfFilesInPOSTRequest

2016-09-19 09:10:24 7188浏览量 回答数 2

2

回答

IOS新手 OSS上传图片报错

2016-02-23 17:22:31 6312浏览量 回答数 2

1

回答

OSS IOS SDK 图片处理支持的功能

2018-06-08 12:13:13 721浏览量 回答数 1

6

回答

oss 图片处理是否是否支持旋转

2014-03-28 10:48:20 9182浏览量 回答数 6

3

回答

打开oss里边的图片为什么不能直接在浏览器显示,二是提示下载。

2013-11-21 15:48:21 14939浏览量 回答数 3

3

回答

用oss做图片存储流量怎么计算

2013-07-05 18:40:10 7899浏览量 回答数 3
+关注
0
文章
20
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载