base64转图片js代码
时间: 2023-08-16 22:07:22 浏览: 177
以下是一个将Base64编码转换为图片的JavaScript代码示例:
```javascript
function base64ToImage(base64Data, filename) {
var mimeType, byteString;
if (base64Data.split(',')[0].indexOf('base64') !== -1) {
byteString = atob(base64Data.split(',')[1]);
mimeType = base64Data.split(',')[0].split(':')[1].split(';')[0];
} else {
byteString = unescape(base64Data.split(',')[1]);
mimeType = base64Data.split(',')[0].split(':')[1].split(';')[0];
}
var arrayBuffer = new ArrayBuffer(byteString.length);
var uintArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteString.length; i++) {
uintArray[i] = byteString.charCodeAt(i);
}
var blob = new Blob([arrayBuffer], { type: mimeType });
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
// For IE
window.navigator.msSaveOrOpenBlob(blob, filename);
} else {
// For other browsers
var objectUrl = URL.createObjectURL(blob);
var link = document.createElement('a');
link.href = objectUrl;
link.download = filename || 'image.png';
link.click();
URL.revokeObjectURL(objectUrl);
}
}
// 使用示例
var base64Data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA' +
'AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO' +
'9TXL0Y4OHwAAAABJRU5ErkJggg==';
var filename = 'image.png';
base64ToImage(base64Data, filename);
```
你可以将需要转换的Base64编码作为`base64Data`参数传递给`base64ToImage`函数,还可以选择性地传递一个文件名作为`filename`参数。该函数将在浏览器中下载图片。如果你使用的是IE浏览器,将会使用不同的方法进行处理。
请注意,在这个示例中,你需要提供一个完整的Base64编码(包括数据类型和前缀),以及一个文件名(可选)。
阅读全文