js 字节转图片base64encoder
时间: 2023-08-09 17:02:20 浏览: 48
在JavaScript中,可以使用`FileReader`对象将文件内容读取为Base64编码的形式,进而将字节数据转化为图片。
首先,需要将文件读取为字节数组。可以通过`FileReader`对象的`readAsArrayBuffer`方法实现:
```javascript
function fileToBytes(file, callback) {
var reader = new FileReader();
reader.onload = function (event) {
var arrayBuffer = event.target.result;
var byteArray = new Uint8Array(arrayBuffer);
callback(byteArray);
}
reader.readAsArrayBuffer(file);
}
```
然后,将字节数组转换为Base64编码的字符串。可以使用`btoa`函数将字节数组转换为Base64编码,将其加上指定的MIME类型即可得到完整的图片编码:
```javascript
function bytesToBase64(byteArray, mimeType) {
var binary = '';
var length = byteArray.byteLength;
for (var i = 0; i < length; i++) {
binary += String.fromCharCode(byteArray[i]);
}
return 'data:' + mimeType + ';base64,' + btoa(binary);
}
```
最后,将图片编码显示在页面上:
```javascript
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', function (event) {
var file = event.target.files[0];
fileToBytes(file, function (byteArray) {
var base64 = bytesToBase64(byteArray, file.type);
var image = document.createElement('img');
image.src = base64;
document.body.appendChild(image);
});
});
```
以上就是通过JavaScript将字节数据转化为图片Base64编码的方法,希望对你有帮助!