4 个回答

浏览器识别的文件类型,会自动用浏览器打开.否则会下载.
这一行为可以被更改,后端可以指定Content-Dispositoin属性来让浏览器直接下载该资源

增加下载头

nginx 可以这样写 add_header Content-disposition "attachment";

我有现成的页面,你可以试试,
https://www.lilnong.top/static/html/_template.html 这样的资源,使用https://www.lilnong.top/download/html/_template.html 就可以换成有下载头的。

非ie 创建一个a链接 ,模拟点击a ,下载

 let urlObject = window.URL || window.webkitURL || window
          let objectUrl = urlObject.createObjectURL(blob) //生成一个url
          if ('download' in document.createElement('a')) {
            // 非IE下载
            let el = document.createElement('a')
            //链接赋值
            el.href = objectUrl
            el.download = fileName
            //必须点击否则不会下载
            el.click()
            // this.saveAs(el)    // 另存为功能
            //移除链接释放资源
            urlObject.revokeObjectURL(objectUrl)
          }

ie 浏览器

// IE10+下载
            navigator.msSaveBlob(blob, fileName)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题