uniapp 把base64转文件流并发送文件流给后端,文件发出为空
时间: 2023-12-23 17:05:22 浏览: 366
图片转base64后传入后端.rar
可以尝试以下步骤:
1. 确保前端将文件转成 base64 格式之后,没有发生数据丢失。
2. 将 base64 格式的数据发送给后端时,需要将字符串转成字节数组(Uint8Array),再将字节数组转成 Blob 对象,最后将 Blob 对象传递给后端。
代码示例:
```javascript
// 将 base64 格式的数据转成字节数组
const bytes = atob(base64Data).split('').map(char => char.charCodeAt(0))
// 将字节数组转成 Blob 对象
const blob = new Blob([new Uint8Array(bytes)], { type: 'image/jpeg' })
// 发送 Blob 对象给后端
const formData = new FormData()
formData.append('file', blob, 'filename.jpg')
axios.post('/upload', formData)
```
注意:上述代码中的 `base64Data` 是前端转成 base64 格式的数据,`axios` 是一个发送 HTTP 请求的工具,具体使用方法可以参考 axios 的官方文档。同时,也需要在服务端对应的接口中接收 `file` 参数,这个参数是一个文件对象。
阅读全文