美文网首页青椒云
js 下载 文件

js 下载 文件

作者: 啊柒柒柒 | 来源:发表于2019-07-22 11:43 被阅读0次

创建upload.js 文件

/**
 * 获取 blob
 * @param  {String} url 目标文件地址
 * @return {Promise} 
 */
function getBlob(url) {
  return new Promise(resolve => {
      const xhr = new XMLHttpRequest();

      xhr.open('GET', url, true);
      xhr.responseType = 'blob';
      xhr.onload = () => {
          if (xhr.status === 200) {
              resolve(xhr.response);
          }
      };

      xhr.send();
  });
}

/**
* 保存
* @param  {Blob} blob     
* @param  {String} filename 想要保存的文件名称
*/
function saveAs(blob, filename) {
  if (window.navigator.msSaveOrOpenBlob) {
      navigator.msSaveBlob(blob, filename);
  } else {
      const link = document.createElement('a');
      const body = document.querySelector('body');

      link.href = window.URL.createObjectURL(blob);
      link.download = filename;

      // fix Firefox
      link.style.display = 'none';
      body.appendChild(link);
      
      link.click();
      body.removeChild(link);

      window.URL.revokeObjectURL(link.href);
  }
}

/**
* 下载
* @param  {String} url 目标文件地址
* @param  {String} filename 想要保存的文件名称
*/
function download(url, filename) {
  getBlob(url).then(blob => {
      saveAs(blob, filename);
  });
}

export {download};

在需要下载的页面引入

import { download } from './upload'
    // 下载 事件
      handleDownload (item, index) {
        download(item.url, '文件')
      }

相关文章

  • laydate 时间选择器组建(一)

    效果图展示 需要引入的js文件 文件下载 html代码 js代码

  • js 文件下载

    项目中我们经常会遇到需要下载文件的功能,静态的文件资源可以使用 a 标签下载,动态的则需要我们通过 js 处理,s...

  • js文件下载

    var a = document.createElement('a');a.href = "url;a.downl...

  • js 下载 文件

    创建upload.js 文件 在需要下载的页面引入

  • js 文件 下载

  • js文件下载

    1.文件流下载 根据后台接口文件流下载 调用 2.文件地址下载 根据文件地址下载文件 调用 3.base64流下载...

  • js -文件下载

    纯前端实现 主要通过a标签的href属性来实现下载功能, download属性规定被下载的超链接目标;downlo...

  • 文件上传下载 antd Upload

    文件上传 antd Upload 入口 UploadUtil.js 文件下载 入口 FileUtil.js api...

  • Vue 使用axios

    1、下载axois 2、在src文件夹在创建http.js文件 3、在main.js 引入http.js文件

  • js-文件的上传和下载

    js-文件的上传和下载

网友评论

    本文标题:js 下载 文件

    本文链接:https://www.haomeiwen.com/subject/rhvilctx.html