2017-02-14 34 views
1

FabricJSモジュールをNodejsに使用しています。私はjpegとして輸出しようとしているキャンバスがありますが、それは(私に苦労して)与えられません。私が得ているのは、ベース64 pngのデータです。Base64 PNGをNodejsのjpegイメージに変換する

data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t..... 

のように起動し

データは、私はこのイメージをJPEGに変換することができますnodejsにとにかくありますか?私はたくさんのグーグルで探せましたが、解決策を得ることができませんでした。

答えて

2

png-to-jpegモジュールを使用できます。 「データ」は、文字列の形式であると仮定すると:

const fs = require("fs"); 

const pngToJpeg = require('png-to-jpeg'); 
const imgStr = 'data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t.....'; 

const buffer = new Buffer(imgStr.split(/,\s*/)[1],'base64'); 
pngToJpeg({quality: 90})(buffer).then(output => fs.writeFileSync("./some-file.jpeg", output)); 
+0

これは仕事をしました。ありがとうございます – Abhinav

-2

[OK]を、私はプロのGoogle社員が(ちょうどkiding)だからあなたは、まず、あなたが今、ATOB for NodeJSをインストールする必要がありますため、私は、何かを発見しましたこのように、base64文字列をデコードするためにそれを使用します。

(function() { 
    "use strict"; 

    var atob = require('atob'); 
    var b64 = ; //your base64 string 
    var bin = atob(b64); 
    var fs = require('fs'); 
    fs.writeFile("./test.jpg", bin, function(err) { 
    if(err) { 
     return console.log(err); 
    } 

     console.log("The file was saved!"); 
    }); 
}()); 

は実は、私はNodeJSを使用していないので、私はあなたにそれ以上のものを言うことができない、私はそれはあなたの問題を解決することを願っています!

+0

これは、base64文字列をバイナリに変換するために使用されるネイティブのatob関数のポリフィルで、OPが求めていた問題を解決しません。 –

関連する問題