前端a标签下载文件

发布时间 2023-09-26 19:53:54作者: 沁猿春

问题描述: 后端直接返回牵牛的文件储存地址,前端想自定义下载文件的名称不成功

解决办法:转为get 请求,将返回值改为blod格式

/**
* 用于 后端直接返回url 牵牛下载地址  并且需要自定义下面文件名称
* @param {请求参数} data {url,fileName}
*/
var download   = function (url,fileName) { //直接将牵牛地址传进来即可
    const x = new window.XMLHttpRequest();
    x.open('GET', url, true);
    x.responseType = 'blob'; //转换返回的格式
    x.onload = () => {
        const url = window.URL.createObjectURL(x.response);
        const a = document.createElement('a');
        a.href = url;
        a.download = fileName;
        a.click();
    };
    x.send();
}
export default download