介绍
最近跟后端调试接口时上传附件(包含
img
、xlsx
)等文件类型,需要在下载到本地时展示原名称。
实现方法
首先需要在vue的methods内定义方法
downloadByBlob(row){
let {name,cdn,type}= row; //获取数据信息
if(type==1){ //图片
let image = new Image(); //创建图片
image.setAttribute('crossOrigin', 'anonymous'); //配置图片属性
image.src = cdn
image.onload = () => {
let canvas = document.createElement('canvas')
canvas.width = image.width
canvas.height = image.height
let ctx = canvas.getContext('2d')
ctx.drawImage(image, 0, 0, image.width, image.height)
canvas.toBlob((blob) => {
let url = URL.createObjectURL(blob)
this.download(url,name)
// 用完释放URL对象
U