下载附件

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

相关推荐

  • sqlite怎么使用子查询函数(sqlite select语句)

    技术SQLite中的SELECT子句如何使用通配符小编给大家分享一下SQLite中的SELECT子句如何使用通配符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!SQLite中的SELECT子句使用通配符

    攻略 2021年12月18日
  • Hibernate一级缓存是什么

    技术Hibernate一级缓存是什么本篇内容介绍了“Hibernate一级缓存是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年12月4日
  • 七种基本UML元件分别是什么

    技术七种基本UML元件分别是什么这篇文章给大家介绍七种基本UML元件分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。UML元件上节的讲解是按照功能对UML图形进行的分类,绘制UML图形时,我

    攻略 2021年11月23日
  • 怎么解决数据库查询非常慢问题

    技术怎么解决数据库查询非常慢问题本篇内容主要讲解“怎么解决数据库查询非常慢问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决数据库查询非常慢问题”吧!一、cpu lo

    攻略 2021年11月16日
  • JAVA工具如何将一个list均分成n个list

    技术JAVA工具如何将一个list均分成n个list这篇文章将为大家详细讲解有关JAVA工具如何将一个list均分成n个list,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年10月23日
  • java过滤器与拦截器的具体区别(java拦截器是什么模式)

    技术Java拦截器以及自定义注解的使用是怎么样的Java拦截器以及自定义注解的使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1,设置预处理,设

    攻略 2021年12月21日