之前项目中的一个文件上传后下载的需求,后端是把文件存在文件服务器,然后返回给前端一个文件地址
拿到url后使用a标签下载,但是对于文件是图片,.txt或者 .pdf这些浏览器可以直接打开的文件,没有下载,而是直接在当前页面打开了,原因是因为url不是同源的
blob:URLs
和
data:URLs
的形式
1. 下面是使用blob:URLs
和data:URLs
来下载图片的代码
// data: URLs方式
downloadByData (url) {
let image = new Image()
image.setAttribute('crossOrigin', 'anonymous')
image.src = url
image.onload = () => {
let canvas = document.createElement('canvas')
canvas.width = image.width
canvas.height =