JavaScript 中获取图片的 Base64 编码可以通过多种方式实现,以下是其中几种常见的方法:
function getImageBase64(file, callback) {
const reader = new FileReader();
reader.onload = function(event) {
callback(event.target.result);
};
reader.readAsDataURL(file);
}
// HTML 中有一个文件输入元素 <input type="file" id="imageInput">
document.getElementById('imageInput').addEventListener('change', function(event) {
const file = event.target.files[0];
if (file) {
getImageBase64(file, function(base64) {
console.log('Base64:', base64);
});
}
});
function getImageBase64FromUrl(url, callback) {
const img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function() {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0);
const dataURL = canvas.toDataURL('image/png');
callback(dataURL);
};
img.src = url;
}
// 使用示例
getImageBase64FromUrl('https://example.com/image.jpg', function(base64) {
console.log('Base64:', base64);
});
async function getImageBase64(url) {
const response = await fetch(url);
const blob = await response.blob();
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result);
reader.onerror = reject;
reader.readAsDataURL(blob);
});
}
// 使用示例
getImageBase64('https://example.com/image.jpg').then(base64 => {
console.log('Base64:', base64);
}).catch(error => {
console.error('Error:', error);
});
img.crossOrigin = 'Anonymous';
。希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云