当前位置: 首页 > Web前端 > HTML

vue中用tag跨域下载文件的解决方法(不适用于图片文件)

时间:2023-03-28 00:22:45 HTML

1.atag的download属性(同源写法)模板下载这种写法只存在于同源的情况下,图片和pdf文件(只要浏览器支持)在非同源的情况下会直接打开并且跨域。试过跨域请求写法,参考链接:https://www.cnblogs.com/makal...//onclick事件下载文件下载文件(url,文件名){varx=newXMLHttpRequest();x.open("GET",url,true);x.responseType='blob';x.onload=function(e){//将创建一个DOMString,其中包含表示参数中给定对象的URL。此URL的生命周期与创建它的窗口中的文档相关联。这个新的URL对象代表指定的File对象或Blob对象。varurl=window.URL.createObjectURL(x.response)vara=document.createElement('a');a.href=urla.download=文件名;a.click()}x.send();},这样控制台还是会报跨域问题。2.解决方案(直接删除a标签中的download属性)//直接删除a标签中的download属性(适用于非图片文件)。//tempUrl为传入的url,根据需要配置。模板下载