我试图在sd卡上创建一个图像文件,从调用Web服务后服务器向我发送的字节构建它(基本上:下载文件)。 我设法在客户端的“东西”,并尝试这些字节写入文件,使用:Android:将字节写入SD卡上的图像文件
FileOutputStream fOut = null;
BufferedOutputStream bOs = null;
try {
fOut = new FileOutputStream(returnedFile);
bOs = new BufferedOutputStream(fOut);
bOs.write(bytesToWrite);
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (bOs != null) {
bOs.close();
fOut.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
但图像文件被破坏(其大小> 0KB,但打破)。 我最终用文本编辑器在我的电脑上打开了该文件,并且我看到一些初始文件数据(在发送之前)与最后一个不同。所以我猜猜是有某种编码错误或类似的东西。 我很想知道如何使这项工作(从web服务器下载图像文件,并在我的手机上打开)的想法。 PS。我也可以更改或获取有关服务器配置的信息,因为它是由我的一位朋友配置的。 PS2。我应该不能仅下载图像,而是可以下载任何类型的文件。
您确定该响应不在Base64中吗?我曾经遇到过这个问题,Base 64解码解决了它! –
什么是pData? – njzk2
sry,已更新pData.getBytes()已更改为bytesToWrite(来自服务器的实际字节数) – DoruAdryan