在Spring Boot中将AWS S3文件作为流下载 前端如何接收
时间: 2024-02-03 20:12:59 浏览: 152
在前端接收AWS S3文件作为流下载的时候,一般会使用`Blob`对象来处理二进制数据。具体步骤如下:
1. 向后端发送请求,获取S3文件的流。
2. 在响应的回调函数中,将流转换成`Blob`对象。
```javascript
axios.get('/api/download')
.then(response => {
const blob = new Blob([response.data], { type: 'application/octet-stream' })
// ...
})
.catch(error => {
console.log(error)
})
```
3. 创建一个下载链接,并将`Blob`对象设置为链接的`href`属性值,以及设置下载文件的名称。
```javascript
const downloadLink = document.createElement('a')
downloadLink.href = URL.createObjectURL(blob)
downloadLink.download = 'example.txt'
```
4. 将链接添加到DOM中,并模拟点击链接进行下载。
```javascript
document.body.appendChild(downloadLink)
downloadLink.click()
document.body.removeChild(downloadLink)
```
完整的代码示例:
```javascript
axios.get('/api/download')
.then(response => {
const blob = new Blob([response.data], { type: 'application/octet-stream' })
const downloadLink = document.createElement('a')
downloadLink.href = URL.createObjectURL(blob)
downloadLink.download = 'example.txt'
document.body.appendChild(downloadLink)
downloadLink.click()
document.body.removeChild(downloadLink)
})
.catch(error => {
console.log(error)
})
```
阅读全文