a href标签下载文件遇到下载失败 打开文件的问题
2021-03-02 11:26
标签:adf 打开文件 filter 生成 sdn ted pca XML idt a href download 此方法只能用于同一个域名的文件资源下载 跨域或者三方平台的特殊资源图片(比如 微信公众号资源图片)总是会打开资源,而非下载! 当下载资源跨域的时候 参考了https://blog.csdn.net/weixin_44379204/article/details/105056713 方法1 方法2 (把图片资源转成canvas 在用href 去下载canvas资源) a href标签下载文件遇到下载失败 打开文件的问题 标签:adf 打开文件 filter 生成 sdn ted pca XML idt 原文地址:https://www.cnblogs.com/tianmiaogongzuoshi/p/14344010.htmla href="/images/logo.png" download="下载资源名称">
a @click="downloadFile(fileUrl,fileName)">下载a>
点击并拖拽以移动
...
downloadFile(url, fileName) {
var x = new XMLHttpRequest();
x.open("GET", url, true);
x.responseType = ‘blob‘;
x.onload=function(e) {
var url = window.URL.createObjectURL(x.response)
var a = document.createElement(‘a‘);
a.href = url
a.download = fileName;
a.click()
}
x.send();
},
...
//图片下载-不同源图片的下载 imgsrc地址 name图片名字
downloadIamge(imgsrc, name) {
var image = new Image();
// 解决跨域 Canvas 污染问题
image.setAttribute("crossOrigin", "anonymous");
image.onload = function() {
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
var context = canvas.getContext("2d");
context.drawImage(image, 0, 0, image.width, image.height);
var url = canvas.toDataURL("image/png"); //得到图片的base64编码数据
var a = document.createElement("a"); // 生成一个a元素
var event = new MouseEvent("click"); // 创建一个单击事件
a.download = name || "photo"; // 设置图片名称
a.href = url; // 将生成的URL设置为a.href属性
a.dispatchEvent(event); // 触发a的单击事件
};
image.src = imgsrc;
},
上一篇:shell 修改json配置。
下一篇:dnspod CURL模拟访问
文章标题:a href标签下载文件遇到下载失败 打开文件的问题
文章链接:http://soscw.com/index.php/essay/59007.html