在 Node.js 中,可以使用
fs
模块和
Buffer
类来将图片 URL 转换为 Base64 格式。
首先,您需要使用
http
或
https
模块获取图片的二进制数据。可以使用以下代码:
const https = require('https');
const fs = require('fs');
https.get('https://example.com/image.jpg', res => {
let imageData = '';
res.setEncoding('binary');
res.on('data', chunk => {
imageData += chunk;
res.on('end', () => {
// 在这里将 imageData 转换为 Base64
}).on('error', err => {
console.error(err);
在上面的代码中,我们使用 https.get()
方法获取图片数据。在 res.on('data')
事件中,我们将图片数据存储在一个字符串变量中,直到 res.on('end')
事件被触发,这时我们已经成功获取了完整的图片数据。
接下来,我们可以使用 Buffer
类将二进制图片数据转换为 Base64 格式。可以使用以下代码:
const base64Image = Buffer.from(imageData, 'binary').toString('base64');
在上面的代码中,我们使用 Buffer.from()
方法将二进制数据转换为 Buffer
对象。第一个参数是二进制数据,第二个参数是指定数据的编码格式。然后,我们调用 Buffer
对象的 toString()
方法将其转换为 Base64 格式。
最后,base64Image
变量将包含转换后的 Base64 图片数据。可以将其保存到文件或将其嵌入到 HTML 中,如下所示:
fs.writeFile('image.txt', base64Image, 'utf8', err => {
if (err) {
console.error(err);
} else {
console.log('图片已成功转换为 Base64 格式并保存到文件!');
const html = `<img src="data:image/jpeg;base64,${base64Image}" alt="Image"/>`;
以上就是将图片 URL 转换为 Base64 的基本步骤。希望对您有所帮助!