【发布时间】:2012-07-04 01:27:26
【问题描述】:
我正在为 Android 编写一个 phonegap 应用程序,有一次,我将一个 base64 PNG 字符串保存为一个文件。但是,我观察到该字符串只是转储到一个文件中,并且在打开时不能被视为图像。
我希望能够保存从 base64 字符串生成的图像。这就是我所拥有的:
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>
请帮忙。谢谢。
【问题讨论】:
-
这可能是这个问题的答案:stackoferflow question 11321347
标签: javascript android cordova base64 phonegap-plugins