在vue中使用axios可以进行下载

axios('/public/pdf/***.pdf', {//pdf的位置
            responseType: 'blob', //重要代码
        }).then(res => {
            const url = window.URL.createObjectURL(new Blob([res.data]));
            const link = document.createElement('a');
            link.href = url;
            let fileName = "下载的pdf.pdf" //保存到本地的文件名称
            link.setAttribute('download', fileName);
            document.body.appendChild(link);
            link.click();
            console.log(link);
            link.remove();
        })

实际上就是创建了一个a标签,调用了download 

 <a href="/***.pdf" download="下载pdf.pdf">点击下载</a>

放在html里面也可以下载,但是会遇到跨域问题,我是测试用的anywhere进行测试的,也可以用nginx解决跨域,JSONP,ajax,postMessage等等都可以解决跨域问题

感兴趣的可以去试试 

Logo

前往低代码交流专区

更多推荐