搜索内容

有一个问题?

如果您有任何疑问,可以在下面询问或输入您要寻找的!

vue xml文档流下载文件

其他 0 273
生成海报
起名焦虑症
起名焦虑症 2021-01-11 07:59
阅读需:0

export default {
methods: {

download(url, param) {
  let params = param
  let xhr = new XMLHttpRequest();
  xhr.open('POST', url, true);
  xhr.setRequestHeader("Content-Type", 'application/json;charset=utf-8');
  xhr.responseType = 'blob';
  xhr.onload = function (e) {
    if (this.status == 200) {
      if (navigator.msSaveBlob) {
        return navigator.msSaveBlob(this.response, params.originalName ? params.originalName : '错误提示文档.xlsx')
      }
      let blob = this.response;
      let a = document.createElement('a');
      let url = window.URL.createObjectURL(blob);
      a.href = url;
      //获取后端文件名称
      let fileName = decodeURI(xhr.getResponseHeader('content-disposition'));
      //截取=字符串后面的内容
      let str = fileName.substring(21, fileName.length)
      let utfStr = decodeURI(escape(str))     //是ISO_8859_1格式->改成utf-8
      a.download = utfStr;
      a.click();
      window.URL.revokeObjectURL(url);
    }
  };
  //参数是json格式
  xhr.send(JSON.stringify(params));
}

}
}

评论
  • 消灭零回复