我正在尝试创建一个构建过程,它将对我的 CSS 文件中的图像进行 base64 编码。我在构建过程中使用 rhino,所以很自然的想法是在我完成 rhino 构建之后才这样做。
到目前为止,我已经完成了图像读取,但卡在了 Base64 部分……我在 JavaScript 中尝试的所有内容都对 byte[] 感到愤怒,而我在 Java 中尝试的所有内容都与 Rhino 有问题。
由于它的犀牛,我限制了我可以使用的库并且不能使用 apache commons。
有人有什么想法吗?
prodcss = prodcss.replace(/url\(['"]*([^"')]*)['"]*\)/g, function(match) {
var path = "build/" + match.substring(4, match.length - 1);
// Read the image to a byte[]
var file = new java.io.File(path);
var bufferedImage = javax.imageio.ImageIO.read(file);
var raster = bufferedImage.getRaster();
var data = raster.getDataBuffer().getData();
var base64 = ''; // Whats the best way to accomplish this ...
return "url(data:image/png;base64," + base64 + ")";
});
感谢帮助。