下载附件

技术下载附件 下载附件down.js/*** @url 下载地址* @filename 所需要的文件名称*/
import { getToken } from '@/utils/auth'
import

下载附件

down.js

/**

* @url下载地址

* @文件名所需要的文件名称

*/

从" @/utils/auth "导入{ getToken }

从"元素-用户界面"导入{消息}

导出函数下行文件(网址,前置=假){ 0

返回新的承诺((解决,拒绝)=}

const xhr=new XMLHttpRequest()

const URL=进程。环境。vue _ APP _ BASE _ API网址

xhr.open('GET ',URL,true)

xhr。setrequestheader(' Content-Type ',' application/json `)

xhr。setrequestheader(' Authorization ',` ${getToken()} `)

xhr.responseType='blob '

xhr。onload=()={ 0

if(xhr。状态===200){ 0

if(xhr。getresponseheader(' content-disposition '==null){ 0

//说明文件不存在

消息({ 0

消息: '导出失败,

类型: '错误,

工期: 5 * 1000

})

拒绝(新错误('导出失败'))

}

const FIlename=decodeURIComponent(xhr。getresponseheader('内容处理').拆分(' fileName=')[1])

if(窗口。领航员。MsSaveRopenBlob){ 0

领航员。MsSaveBloB(xhr。响应,fileName)

} else {

const body=文档。queryselector(' body ')

const imgurl=window .网址。createobjecturl(xhr。回应)

if(!pre){ 0

const link=文档。创建元素(' a ')

link.download=fileName

link.href=imgurl

link.style.display='none '

body.appendChild(链接)

link.click()

body.removeChild(链接)

窗户网址. revokeObjectURL(链接. href)

消息({ 0

消息: '下载成功!',

键入: '成功,

工期: 5 * 1000

})

解析({ data: ' ',msg: '下载成功!',state: xhr.statusText })

} else {

解析({ data: imgurl,msg: '获取成功,state: xhr.statusText })

}

}

} else {

消息({ 0

message: xhr.statusText,

类型: '错误,

工期: 5 * 1000

})

拒绝(新错误(xhr.statusText))

}

}

xhr.send()

})

}

api.js

导出函数CheckEXcel(id){ 0

返回下文件(

`/项目/投标/CheckExcelId=$ { id } ` 0

)

}

//返回全球资源定位器(统一资源定位符)

静态downloadWithUrl(url:字符串){ 0

const DownLoadURl=this。GetHost()URL;

if(窗口。导航窗口。领航员。mssaveropenblob){ 0

窗户。位置。href=DownLoadURl

} else {

const link=文档。创建元素(' a ');

链接。风格。显示='无';

link.href=downloadUrl

document.body.appendChild(链接);

链接。单击();

document.body.removeChild(链接);

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/67486.html

(0)

相关推荐

  • JYN 2.2有哪些新功能?

    技术Jython 2.2的新增特性有哪些这篇文章将为大家详细讲解有关Jython 2.2的新增特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Jython 是Python 的J

    攻略 2021年12月17日
  • redis中的五种基本类型(redis的几种类型分别适用什么场景)

    技术redis层级结构是怎样的本篇内容主要讲解“redis层级结构是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis层级结构是怎样的”吧!redis中保存数据时

    攻略 2021年12月23日
  • 日本服务器租用哪家服务比较好

    技术日本服务器租用哪家服务比较好在租用日本服务器的时候首先要选择合适的机房才能确保服务器的正常稳定运行,那么如何判断自己选择的机房是否可靠呢,日本服务器租用哪家售后服务比较好,建议考察一下以下几点服务器维护 定期进行服务

    礼包 2021年12月16日
  • JavaScript作用域的示例分析

    技术JavaScript作用域的示例分析这篇文章给大家分享的是有关JavaScript作用域的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。作用域作用域(Scope)简单的说就是变量,

    攻略 2021年11月14日
  • 怎么使用PostgreSQL的插件pgmetries

    技术怎么使用PostgreSQL的插件pgmetries这篇文章主要介绍“怎么使用PostgreSQL的插件pgmetries”,在日常操作中,相信很多人在怎么使用PostgreSQL的插件pgmetries问题上存在疑

    攻略 2021年11月8日
  • sparklines是什么意思(sparklines的BoxPlot是什么)

    技术sparklines的BoxPlot是什么本篇内容主要讲解“sparklines的BoxPlot是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sparklines的

    攻略 2021年12月16日