图片上传:Blob转base64
时间: 2023-07-18 14:45:20 浏览: 148
将 Blob 转换为 base64 可以使用 FileReader 对象。以下是一个简单的示例代码:
```javascript
function blobToBase64(blob, callback) {
var reader = new FileReader();
reader.onload = function() {
var dataUrl = reader.result;
var base64 = dataUrl.split(',')[1];
callback(base64);
};
reader.readAsDataURL(blob);
}
```
调用示例:
```javascript
var blob = new Blob(['Hello, world!'], {type: 'text/plain'});
blobToBase64(blob, function(base64) {
console.log(base64); // 输出 "SGVsbG8sIHdvcmxkIQ=="
});
```
这个函数接受两个参数:一个 Blob 对象和一个回调函数。回调函数会在转换完成后被调用,它的参数是转换后的 base64 字符串。
相关问题
uniapp手机上传图片blob转成base64
你可以使用uniapp的`uni.getImageInfo`方法获取图片的信息,然后使用`uni.getFileSystemManager().readFile`方法将图片转换为base64格式。下面是一个示例代码:
```javascript
uni.getImageInfo({
src: imagePath,
success: function (res) {
uni.getFileSystemManager().readFile({
filePath: res.path,
encoding: 'base64',
success: function (data) {
var base64Image = 'data:image/' + res.type + ';base64,' + data.data;
console.log(base64Image);
},
fail: function (error) {
console.log(error);
}
});
},
fail: function (error) {
console.log(error);
}
});
```
在上面的代码中,`imagePath`是图片的路径。首先使用`uni.getImageInfo`方法获取图片的信息,然后使用`uni.getFileSystemManager().readFile`方法读取图片文件并将其转换为base64格式。最后,可以在成功回调函数中获取到转换后的base64图片数据。
请注意,这个方法需要在真机上测试,因为在H5端可能会受到跨域限制。
uniapp开发微信小程序base64转blob
你可以使用uniapp的内置方法将base64转换为blob。下面是一个示例代码:
```javascript
export default {
methods: {
base64ToBlob(base64Data, contentType) {
contentType = contentType || '';
const sliceSize = 1024;
const byteCharacters = atob(base64Data);
const byteArrays = [];
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
const slice = byteCharacters.slice(offset, offset + sliceSize);
const byteNumbers = new Array(slice.length);
for (let i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
const blob = new Blob(byteArrays, { type: contentType });
return blob;
},
async handleBase64ToBlob(base64Data) {
const contentType = 'image/png'; // 设置图片类型,根据实际情况修改
const blob = this.base64ToBlob(base64Data, contentType);
// 使用blob进行后续操作,比如上传到服务器等
// 你可以在这里编写你的逻辑
},
},
};
```
在上面的代码中,`base64ToBlob`方法将base64字符串转换为blob对象。`handleBase64ToBlob`方法是一个示例,你可以在其中调用`base64ToBlob`方法,并在后续逻辑中使用blob对象,例如上传到服务器等。请注意根据实际情况修改`contentType`参数,以确保正确的图片类型。
阅读全文