我正在通过 ajax 将图片文件作为二进制代码检索,然后 javascript 将其传递给 android 上的 java,android 正在获取二进制代码,但我无法让它保存它......我尝试了很多不同的方法,但没有任何效果。
到目前为止,java 上的代码如下所示:
public void setFile(String sFileName, String sBody){
try
{
//Log.w("setfile", sBody);
File root = new File(Environment.getExternalStorageDirectory(), local_address);
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, sFileName);
FileOutputStream aFileOutStream = new FileOutputStream(gpxfile);
DataOutputStream aDataOutputStream = new DataOutputStream(aFileOutStream);
aDataOutputStream.writeUTF(sBody);
aDataOutputStream.flush();
aDataOutputStream.close();
aFileOutStream.close();
//FileWriter writer = new FileWriter(gpxfile);
//writer.append(sBody);
//writer.flush();
//writer.close();
//Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
}
catch(IOException e)
{
e.printStackTrace();
}
}
我知道 java 正在工作,因为如果我取消注释这一行
//Log.w("setfile", sBody);
log cat 将返回 javascript 发送给 java 的二进制代码