vue进行文件下载

本文为博主原创,未经允许不得转载:

  总结一下,最近在vue中实现一个文件下载的功能,用了vue中ajax的方式请求下载接口,

但是返回报错,在网上查询之后,找到用ajax请求下载文件报错的原因:ajax方式请求的数据只能存放在javascipt内存空间,

可以通过javascript访问,但是无法保存到硬盘,因为javascript不能直接和硬盘交互,否则将是一个安全问题。

错误方式:

_this.$http.post('/file/exportDetail.do',params)

可正确进行文件下载的方式有两种:

第一种:location.href 进行文件下载,在当前窗口进行文件下载

 toExport(id){
                var url2 = "/file/exportDetail.do?id="+id;
                window.location.href = url2;
            },
            

第二种:window.open进行文件下载,默认会跳转到新窗口进行文件下载

 toExport(id){
                var url2 = "/file/exportDetail.do?id="+id;
                window.open(url2);
            },        
 

参考:https://www.cnblogs.com/nuccch/p/7151228.html

原文地址:https://www.cnblogs.com/zjdxr-up/p/10145565.html