js下载文件的方式大致分为一下几类,下面对不同的应用场景分别做下简介:
1.下载new file() 生成的对象文件
首先创建一个a标签,href属性赋值为要下载文件对象的URL,然后调用a标签上的click()方法就可以下载file文件到本地了。
关于文件对象的URL怎么获得,这里要用到URL.createObjectURL(object)方法,参数object为一个File对象或者Blob对象,返回值就是一个UTF-16字符串,可以当作a标签的href属性值来使用。注意:在使用完URL.createObjectURL()方法之后,要用URL.revokeObjectURL(url)来释放掉。参数url为刚才生成的那个UTF-16字符串。详情参考https://developer.mozilla.org/zh-CN/docs/Web/API/URL/createObjectURL
示例代码:
let file = new File([data], "fileName.obj");//创建一个file文件 //let blob = new Blob([data]); let aTag = document.createElement('a');//创建一个a标签 aTag.download = file.name; let href = URL.createObjectURL(file);//获取url aTag.href = href; aTag.click(); URL.revokeObjectURL(href);//释放url
2.常规a标签下载文件
未完待续......