在 JavaScript 中将图像转换为 Base64 字符串
将图像转换为 Base64 字符串是 Web 开发中的一项常见任务,尤其是当您需要将图像发送到服务器。以下是实现此目的的两种流行的 JavaScript 方法:
1. FileReader 方法:
此方法利用 FileReader API 将图像作为 blob 读取,然后将其转换为数据 URL:
function toDataURL(url, callback) { var xhr = new XMLHttpRequest(); xhr.onload = function() { var reader = new FileReader(); reader.onloadend = function() { callback(reader.result); } reader.readAsDataURL(xhr.response); }; xhr.open('GET', url); xhr.responseType = 'blob'; xhr.send(); } toDataURL('https://www.gravatar.com/avatar/d50c83cc0c6523b4d3f6085295c953e0', function(dataUrl) { console.log('RESULT:', dataUrl) })
2. HTML Canvas 方法:
另一种选择是创建 HTML 画布,在其上绘制图像,然后将画布转换为数据 URL:
const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); // Resize the canvas to the image's size canvas.width = image.width; canvas.height = image.height; // Draw the image onto the canvas ctx.drawImage(image, 0, 0); // Convert the canvas to a data URL const dataUrl = canvas.toDataURL('image/jpeg');
以上是如何在 JavaScript 中将图像转换为 Base64 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!