CSSファイルの画像をbase64エンコードするビルドプロセスを作成しようとしています。私はビルドプロセスにrhinoを使用しているので、rhinoでのビルドが完了した後で、これを実行するのが自然な考えでした。
これまでのところ、画像の読み取りは完了していますが、Base64の部分で立ち往生しています... JavaScriptで試すものはすべてbyte[]に腹を立て、Javaで試すものはすべてRhinoに問題があります。
そのサイなので、使用できるライブラリに制限があり、ApacheCommonsは使用できません。
誰かアイデアがありますか?
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 + ")";
});
ヘルプに感謝します。