uni-app bese64如何转换为Blob对象,然后使用FormData发送请求
时间: 2023-06-01 16:06:27 浏览: 172
您可以使用 atob() 方法将 Base64 编码的字符串解码为二进制数据,再用 new Blob() 方法创建 Blob 对象,最后将 Blob 对象封装到 FormData 中,使用 XMLHttpRequest 或 fetch API 发送请求。以下是示例代码:
```
// 将 Base64 编码的字符串转换为 Blob 对象
function base64ToBlob(base64Str) {
const decodedStr = atob(base64Str);
let len = decodedStr.length;
let bytes = new Uint8Array(len);
for (let i = 0; i < len; ++i) {
bytes[i] = decodedStr.charCodeAt(i);
}
return new Blob([bytes]);
}
// 将 Blob 对象封装到 FormData 中
function createFormData(blob) {
const formData = new FormData();
formData.append('file', blob, 'filename.jpg');
return formData;
}
// 发送请求示例
const base64Str = '...'; // 替换成实际的 Base64 编码的字符串
const blob = base64ToBlob(base64Str);
const formData = createFormData(blob);
fetch('/upload', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
以上代码仅供参考,具体实现可以根据实际情况进行调整。