1.同源文件下載,修改文件名
同源文件下載,修改文件名使用 download 屬性
// html 標(biāo)簽下載
<a href="http://baidu/123456.jpg" download="自拍.jpg">自拍下載</a>
// javascript 動態(tài)創(chuàng)建 a 標(biāo)簽下載
function downloadImg(url, filename){
const a = document.createElement("a");
a.href = url;
a.download = filename; // 修改文件名
a.style.display = "none";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
2.非同源文件下載钥组,修改文件名
非同源文件下載,先轉(zhuǎn)換為Blob對象今瀑,然后用URL.createObjectURL()創(chuàng)建一個指向該Blob的URL程梦,通過a標(biāo)簽下載,修改 download 屬性
注意:要解決跨域問題橘荠,oss上的也要允許跨域
downloadByBlob(url,fileName) {
axios(url, {
method: 'get',
responseType: 'blob',
}).then((response) => {
const url = window.URL.createObjectURL(new Blob([response.data], { type: 'application/pdf' }));
// 采用上面屿附,javascript 動態(tài)創(chuàng)建 a 標(biāo)簽下載
downloadImg(url ,'自拍照.pdf')
});