vue base64图片转file流 下载到本地 或者上传

<img  :src="'data:image/png;base64,'+form.img" style="max-width:280px;max-height: 280px;margin: auto;" />

// base64 转file
const base64ToFile=()=>{
    let byImg= atob(form.img); // 解码base64
    let n = byImg.length
    let a = new Uint8Array(n);
    while (n--) {
        a[n] = byImg.charCodeAt(n);
    }
       const options = {
	    type: 'image/png',
	    endings: 'native',
	}
	let nameImg = '图片名称';
    return new File([a], nameImg+'.png', options);
}
//上传图片
const confirmImg =()=>{
	let nameImg = '图片名称';
    const imgFile = base64ToFile();
    let formData = new FormData();
    formData.append("file_name", imgFile);
    formData.append('type',3);
    formData.append('mark_name',nameImg+'.png');
    formData.append('name',nameImg);
    formData.append('tag',tag);
    //省略提交
    return true;
  });
}
 // 下载到本地
const downloadImg=()=>{
	const imgFile = base64ToFile();
	let nameImg = '图片名称';
    let imgDown= document.createElement('a');
    imgDown.download = nameImg;
    imgDown.href = URL.createObjectURL(imgFile);
    imgDown.click();
}

你可能感兴趣的:(vue.js,前端,javascript)