vue 如何保存base64图片到本地
可以使用以下步骤将base64图片保存到本地:
- 将base64图片转换为Blob对象。
function base64ToBlob(base64Str) {
const base64Data = base64Str.split(',')[1];
const contentType = base64Str.split(';')[0].split(':')[1];
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);
}
return new Blob(byteArrays, { type: contentType });
}
- 创建URL对象并将Blob对象存储到URL中。
function saveImage(base64Str, fileName) {
const blob = base64ToBlob(base64Str);
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
}
- 调用saveImage函数并传递base64图片和文件名作为参数。
saveImage('data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQg...', 'my-image.jpg');
``
原文地址: https://www.cveoy.top/t/topic/f24C 著作权归作者所有。请勿转载和采集!