2016-11-02 8 views
0

Ich verwende Mapbox's Javascript PBF library, um eine PBF Datei in eine png zu konvertieren. Für Kontext, hier ist, was ich habe, so weit:base64 Bilddaten in PNG konvertieren?

var pbfFile = new pbf(fs.readFileSync('0.pbf')), // pbfFile.buf gives us the binary data for the image 

buffer = new Uint8Array(); 
buffer = pbfFile.readBytes(); 

console.log("Raw Uint8 data: " + buffer); 

var bufferToBase64 =btoa(String.fromCharCode.apply(null, buffer)); 

console.log("Image data in base64: " + bufferToBase64); 

, die gibt der folgende:

Raw Uint8 data: 139,8,0,0,0,0,0,0,3,157,86,123,84,84,199,25,223,111,230,238,222,185,23,88,150,187,168,184,32,44,23 

Image data in base64: iwgAAAAAAAADnVZ7VFTHGd9v5u7euRdYlruouCAsFw== 

Ich bin ein wenig verloren, wie ich die base64 Daten zu einem png Bild umwandeln und Pass es zu meinem Server. Ich habe einen express Server läuft und Anfragen zu hören, jetzt läuft der obige Code, wenn ich es über Terminal verbinden.

Gibt es eine Möglichkeit, die obige Base 64 zu konvertieren und das Bild an meinen Browser zu senden? Nicht unbedingt in einer Leinwand, so wie eine Datei (also Aufforderung zum Download) ist völlig in Ordnung.

Antwort

2

Sie können dies tun, indem base64-img

Installieren Sie es mit npm

npm install base64-img --save 

Beispiel

base64Img.img('data:image/png;base64,...', 'dest', '1', function(err, filepath) {}); 

Weitere Dokumentation unter Verwendung finden Sie hier base64-img