java如何将前端传输的文件流设置成 responseType: 'blob'格式
时间: 2023-12-20 10:06:14 浏览: 120
在前端传输文件流时,可以使用XMLHttpRequest对象来发送请求,并且通过设置`responseType`参数为`'blob'`来指定返回的数据类型为二进制流。
具体来说,可以在发送请求前创建一个XMLHttpRequest对象,并设置其`responseType`属性为`'blob'`。示例代码如下:
```javascript
let xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.responseType = 'blob'; // 指定返回类型为二进制流
xhr.onload = function(e) {
if (this.readyState === 4 && this.status === 200) {
let blob = new Blob([this.response], {type: 'application/octet-stream'});
let link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = 'file.zip';
link.click();
}
};
xhr.send(formData);
```
在这个示例中,我们将`responseType`设置为`'blob'`,并在请求完成后处理响应数据。在响应数据中,我们将二进制流数据封装成Blob对象,并通过创建一个a标签来实现文件下载。其中,`download`属性指定文件名为`file.zip`。
阅读全文