以下是我正在做的事情: 在javascript中我要求使用AJAX的图像。 服务器php执行以下代码:
readfile($pathfile);
然后javascript接收数据,而使用Phonegap我尝试将其写入文件:
var writer = new FileWriter();
writer.fileName = "./../Documents/" + nameFile;
writer.write(dataReceived);
实际上,它适用于ASCII字符,但“写入”功能会因接收到的图像内容(png格式)而失败。所以我试着用Hexadécimal中的Base64对传输的数据进行编码,它可以工作。但我不想存储编码数据,因为我想稍后在“img”标签(html标签)中使用它。并做出类似的事情:
<img src='./../Documents/createdFile.png' />
您是否知道如何将Phonegap中的任何字符写入文件?或者我对PhoneGap的FileWriter做错了什么?我知道做src ='Image.php'的方法,但我必须在设备上存储文件。
我有0.9x版本的Phonegap(包含在Dreamweaver中)。提前谢谢。
答案 0 :(得分:2)
我终于找到了解释。首先,我想说我刚刚学习了javascript;)。所以我在github上向“macdonst”提问,他回答我:
“遗憾的是,你将无法使用FileWriter编写二进制数据.JavaScript无法很好地处理二进制数据,我们也无法将二进制数据从JavaScript端传递到Native端,所以这是我们的限制和...一起生活。
但是,一旦你写完了你的base64图像数据,就可以这样显示:
<img src="data:image/gif;base64,{this is where your base64 data goes}" />
“
感谢“macdonst”,我发布了他的答案,因为我希望它能帮助像我这样的初学者。