下载附件

技术下载附件 下载附件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月23日
  • n代表零线还是火线,火线和零线哪个是L哪个是N

    技术n代表零线还是火线,火线和零线哪个是L哪个是N零线为〔N〕n代表零线还是火线,火线为〔L〕。市电的交流供电电压为220伏特(V)。包括一根零线〔N〕和一根火线〔L〕,零线接地(地为零)所以称之为零线。   在电工学中

    生活 2021年10月25日
  • redis的aof与rdb(redis的aof怎么手动触发)

    技术Redis中AOF有哪些潜在的阻塞点这篇文章给大家分享的是有关Redis中AOF有哪些潜在的阻塞点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。AOF有哪些潜在的阻塞点1. Redis采用

    攻略 2021年12月24日
  • ios sdk开发需要掌握什么(ios你在项目开发中遇到的难点)

    技术IOS开发之Target-Action模式有什么用小编给大家分享一下IOS开发之Target-Action模式有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 该模式主要是为了减少模块之

    攻略 2021年12月24日
  • AIO与NIO的实际区别是什么

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

    攻略 2021年11月15日
  • JavaScript中的原型和原型链是什么

    技术JavaScript中的原型和原型链是什么这篇文章主要介绍“JavaScript中的原型和原型链是什么”,在日常操作中,相信很多人在JavaScript中的原型和原型链是什么问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年11月28日