下载附件

技术下载附件 下载附件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)

相关推荐

  • 择其善者而从之的从的意思,择其善者而从之的,而是什么意思

    技术择其善者而从之的从的意思,择其善者而从之的,而是什么意思而表示顺承关系,虚词,连接两个动作,无实意。补充:择其善者而从之,其不善者而改之翻译:我选择他善的方面向他学习,看到他不善的方面就对照自己改正自己的缺点.虚心好

    生活 2021年10月24日
  • 分析Oracle表数据库高水位及shrink操作

    技术分析Oracle表数据库高水位及shrink操作这篇文章主要介绍“分析Oracle表数据库高水位及shrink操作”,在日常操作中,相信很多人在分析Oracle表数据库高水位及shrink操作问题上存在疑惑,小编查阅

    攻略 2021年11月5日
  • 安瓿瓶怎么读,英语:瓶子这个单词怎么读

    技术安瓿瓶怎么读,英语:瓶子这个单词怎么读表示瓶子的英文是bottle,其读音为:英 [ˈbɒtl] 美 [ˈbɑ:tl] 。具体释义如下:bottle英 [ˈbɒtl] 美 [ˈbɑ:tl]1安瓿瓶怎么读、名词

    生活 2021年10月29日
  • sqlserver中的int型转为decimal(sqlservercast语法)

    技术怎么浅析SQLServer中的Scanf与Printf怎么浅析SQLServer中的Scanf与Printf,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题

    攻略 2021年12月20日
  • Spring AOP如何实现简单的日志切面

    技术Spring AOP如何实现简单的日志切面本篇文章给大家分享的是有关Spring AOP如何实现简单的日志切面,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看

    攻略 2021年10月27日
  • 最全分布式锁解决方案详解

    技术最全分布式锁解决方案详解 最全分布式锁解决方案详解一. 概述
    1.1 锁的概念在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时

    礼包 2021年11月7日