我正在爲Android編寫一個phonegap應用程序,並且在某個時候,我將一個base64 PNG字符串保存爲一個文件。但是,我發現字符串只是被轉儲到一個文件中,打開時不能被視爲圖像。Phonegap - 如何從base64字符串生成圖像文件?
我希望能夠從保存的base64 string.This產生的圖像是我:
的JavaScript(格式化爲PhoneGap的):
/*** Saving The Pic ***/
var dataURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="; //A simple red dot
function gotFS(fileSystem) {
fileSystem.root.getFile("dot.png", {create: true, exclusive: false}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}
function gotFileWriter(writer) {
writer.write(dataURL); //does not open as image
}
function fail(error) {
console.log(error.code);
}
我試着編輯代碼以保存圖像數據,但它也沒有工作。 (見下文)
function gotFileWriter(writer) {
var justTheData = dataURL.replace(/^data:image\/(png|jpg);base64,/, "");//Removes everything up to ...'base64,'
writer.write(justTheData); //also does not show
}
觸發寄託都在HTML:
<p onclick="window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail)">Save a Dot</p>
請幫助。謝謝。
這可能是這個問題的答案n:[stackoferflow問題11321347](http://stackoverflow.com/questions/8110294/nodejs-base64-image-encoding-decoding-not-quite-working) – fider