参考保留文件文件进行下载:https://blog.csdn.net/dilinying2838/article/details/101254217?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.pc_relevant_is_cache&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.pc_relevant_is_cache
    image.png

    1. Axios部分
    2. export function getxiazaimoban(query) {
    3. return request({
    4. url: '/clinbrain/api/template/export',
    5. method: 'get',
    6. responseType:'arraybuffer',
    7. ContentType:'application/zip;charset=UTF-8',
    8. params: query
    9. })
    10. }
    11. HTML部分:
    12. downloadGGMB(val) {
    13. getxiazaimoban({
    14. id: val.row.id
    15. })
    16. .then(res => {
    17. 方式1:无法保留返回的文件名;
    18. // console.log(res.headers['content-disposition'].split(";")[1].split("filename=")[1])
    19. // let blob = new Blob([res.data],{type:"application/zip"})
    20. // let objectUrl = URL.createObjectURL(blob);
    21. // window.location.href = objectUrl;
    22. 方式2:可以保留文件返回的名称;
    23. var filename = res.headers; //下载后文件名
    24. filename = filename["content-disposition"];
    25. filename = filename.split(";")[1].split("filename=")[1];
    26. var blob = new Blob([res.data], {
    27. type: "application/zip"
    28. });
    29. var downloadElement = document.createElement("a");
    30. var href = window.URL.createObjectURL(blob); //创建下载的链接
    31. downloadElement.href = href;
    32. downloadElement.download = filename;
    33. document.body.appendChild(downloadElement);
    34. downloadElement.click(); //点击下载
    35. document.body.removeChild(downloadElement); //下载完成移除元素
    36. window.URL.revokeObjectURL(href); //释放掉blob对象
    37. })
    38. .catch(err => {
    39. msgError(err.message);
    40. });
    41. },