gpt4 book ai didi

node.js - NodeJS 需要 ('./path/to/image/image.jpg' ) 作为 base64

转载 作者:搜寻专家 更新时间:2023-10-31 23:02:00 26 4
gpt4 key购买 nike

有没有办法告诉 require 如果文件名以 .jpg 结尾,那么它应该返回它的 base64 编码版本?

var image = require('./logo.jpg');
console.log(image); // data:image/jpg;base64,/9j/4AAQSkZJRgABAgA...

最佳答案

我担心“为什么”,但这是“如何”:

var Module = require('module');
var fs = require('fs');

Module._extensions['.jpg'] = function(module, fn) {
var base64 = fs.readFileSync(fn).toString('base64');
module._compile('module.exports="data:image/jpg;base64,' + base64 + '"', fn);
};

var image = require('./logo.jpg');

这种机制存在一些严重的问题:首先,您以这种方式加载的每个图像的数据将保留在内存中,直到您的应用程序停止(因此它对加载大量图像没有用),并且由于缓存机制(这也适用于 require() 的常规使用),您只能将图像加载到缓存中一次(第二次需要图像,在其文件更改后,仍会产生第一个图像—cached—version,除非您手动开始清理模块缓存)。

换句话说:你并不是真的想要这个。

关于node.js - NodeJS 需要 ('./path/to/image/image.jpg' ) 作为 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31241734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com