下载附件

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

相关推荐

  • Windows的常用工具有几个

    技术Windows的常用工具有几个这篇文章给大家介绍Windows的常用工具有几个,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。哈喽,大家好,今天给大家分享几个好用的,提高办公办事效率的工具!(1)

    攻略 2021年10月22日
  • ARCHIVELOG如何统计归档日志更准确

    技术ARCHIVELOG如何统计归档日志更准确小编给大家分享一下ARCHIVELOG如何统计归档日志更准确,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了

    攻略 2021年12月10日
  • 怎样写一个时间序列数据库

    技术怎样写一个时间序列数据库怎样写一个时间序列数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在 Prometheus 上,监控系统包含

    攻略 2021年12月2日
  • 窗口事件

    技术窗口事件 窗口事件1.窗口事件属性:
    window.onfocus = function(){ // 窗口获取焦点事件};
    window.οnblur= function(){ // 窗口失去焦点事

    礼包 2021年12月5日
  • PDF文件如何压缩

    技术PDF文件如何压缩小编给大家分享一下PDF文件如何压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  步骤一:打开压缩工具,在跳转的页面

    攻略 2021年10月26日
  • MySQL中CURRENT_TIMESTAMP的使用方式是什么

    技术MySQL中CURRENT_TIMESTAMP的使用方式是什么这篇文章主要讲解了“MySQL中CURRENT_TIMESTAMP的使用方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢

    攻略 2021年11月25日