后端返回word文档流,前端下载后变成text文件
时间: 2023-11-29 20:18:41 浏览: 73
这个问题可能是由于前端下载的文件类型没有正确设置导致的。可以通过以下几个步骤来解决该问题:
1. 确定后端返回的文件类型是否正确,如果返回的是 word 文档流,那么文件类型应该是 application/msword 或 application/vnd.openxmlformats-officedocument.wordprocessingml.document。
2. 在前端下载文件时,需要将文件类型设置为后端返回的文件类型,可以使用 Content-Type 头部来设置,例如:
```javascript
const blob = new Blob([response.data], { type: 'application/msword' });
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.doc');
document.body.appendChild(link);
link.click();
```
3. 如果前端下载后,文件仍然是文本文件,可以尝试在后端返回文件流之前,设置正确的 Content-Type 头部,例如:
```
Content-Type: application/msword
```
通过以上步骤,应该可以解决前端下载后文档类型不正确的问题。