js下载(非打开)的几种方式

写在前面

这里主要总结.mp3,.json等浏览器默认打开而非下载的这类文件下载方式。其他像.zip.,.rar等文件浏览器默认处理方式就是下载。

1.download属性

HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载(目前只有chrome、firefox和opera支持)。

示例:<a href="http://XXX" download></a>

2.服务器返回数据流

走服务端返回二进制流给浏览器下载,这种方式可以通过指定content-type来强制让浏览器选择下载而非打开的方式。

content-type值定义参考:http://www.zuidaima.com/question/2232374618098688.htm。

前端用一个隐藏的form

3.其他网上方法

其他直接使用iframe、form等方式亲测不靠谱,会报类似如下提示,且还是下载不了。

Resource interpreted as Document but transferred with MIME type audio/mpeg:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,508评论 0 17
  • 本文包括:1、文件上传概述2、利用 Commons-fileupload 组件实现文件上传3、核心API——Dis...
    廖少少阅读 12,587评论 5 91
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,707评论 2 7
  • 小侄女: 你好,欢迎你的到来。今天是你来到这个世界上的第二天。我回想昨天在手机看到你爸在群里发了你的照片时,我激动...
    一米Sunny阅读 512评论 0 0