vue 下载文件跨域
时间: 2023-11-25 13:52:28 浏览: 153
在Vue项目中下载文件跨域可以通过使用fetch和更改header来解决。具体步骤如下:
1.使用fetch下载文件,代码如下:
```javascript
fetch(文件路径).then(res => {
res.blob().then(myBlob => {
const href = URL.createObjectURL(myBlob);
const a = document.createElement('a');
a.href = href;
a.download = '文件名'; // 下载文件重命名
a.click();
a.remove();
});
});
```
2.更改header,使用http-proxy-middleware代理解决。具体步骤如下:
(1)安装http-proxy-middleware
```shell
npm install http-proxy-middleware --save-dev
```
(2)在vue.config.js中配置代理
```javascript
const proxyMiddleware = require('http-proxy-middleware');
module.exports = {
devServer: {
before(app) {
app.use(
'/api',
proxyMiddleware({
target: 'http://localhost:3000', // 代理的目标地址
changeOrigin: true,
pathRewrite: {
'^/api': '', // 将/api重写为空
},
})
);
},
},
};
```
以上就是Vue项目中下载文件跨域的两种解决方案。
阅读全文