【发布时间】:2013-07-24 08:28:46
【问题描述】:
我正在尝试在 sd 卡上创建一个图像文件,从调用 Web 服务后服务器向我发送的字节构建它(基本上:下载文件)。 我设法在客户端获得“东西”,并尝试将这些字节写入文件,使用:
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,但已损坏)。 我最终用文本编辑器在我的计算机上打开了该文件,我看到一些初始文件数据(在发送之前)与最终文件不同。所以我猜测存在某种编码错误或类似的东西。 我将不胜感激如何使这项工作(从网络服务器下载图像文件,并在我的手机上打开)。 PS。我还可以更改或获取有关服务器配置的信息,因为它是由我的朋友配置的。 PS2。我应该不仅可以下载图片,还可以下载任何类型的文件。
【问题讨论】:
-
您确定响应不在 Base64 中吗?我曾经遇到过这个问题,Base 64解码解决了!
-
sry,更新后的 pData.getBytes() 已更改为 bytesToWrite(来自服务器的实际字节)
-
@Skaard-Solo 我没有提到响应在 Base64 中的任何地方。你能稍微解释一下你的意思吗?