2016-03-16 3 views
1

Я использую фантомный JS для извлечения строк на изображении, а затем закодировать их с основанием 64.Как сохранить изображение в качестве базы 64?

var content = btoa(unescape(encodeURIComponent(imagestring))); 
self.writeFile(pathToFolder + fileTitle, content);  

Но изображения не отображается. В нем говорится, что они повреждены. Как я могу сохранить изображение?

+0

Вы работаете с простым PhantomJS или каким-то мостом между PhantomJS и узлом? –

+0

просто фантом. – snnlankrdsm

+0

Хорошо, что такое 'imagestring' и откуда оно взялось? Возможно, вы можете предоставить пример большего кода. –

ответ

-1

Если вы хотите сохранить изображение как base64 с JavaScript, вы можете попробовать с этим кодом:

var fs = require('fs'); 
 
// string generated by canvas.toDataURL() 
 
var img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0" 
 
    + "NAAAAKElEQVQ4jWNgYGD4Twzu6FhFFGYYNXDUwGFpIAk2E4dHDRw1cDgaCAASFOffhEIO" 
 
    + "3gAAAABJRU5ErkJggg=="; 
 
// strip off the data: url prefix to get just the base64-encoded bytes 
 
var data = img.replace(/^data:image\/\w+;base64,/, ""); 
 
var buf = new Buffer(data, 'base64'); 
 
fs.writeFile('image.png', buf);

+1

В PhantomJS нет «Буфера». Также нет 'fs.writeFile' –

Смежные вопросы