我有webservice正在运行并准备好使用我的Android平板电脑相机(Samsumg Galaxy TAB 10.1)制作的图像。
在使用 1024x768 分辨率(0.8M)拍摄的图像时,效果非常好。但是,使用平板电脑的最高分辨率( 2048x1536 或3.2M)时,保存的图像不起作用。它保存了一个0kb大小的损坏图像文件。
这是与webservice中的图像保存相关的代码:
public static void saveFile(final InputStream file, final String filePath) throws IOException {
OutputStream out = new FileOutputStream(new File(filePath.trim()));
int read = 0;
byte[] bytes = new byte[2048];
while ((read = file.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
file.close();
out.flush();
out.close();
}
我已经尝试过增加字节数组大小,但它没有帮助。
file
变量的产生方式如下:
final InputStream image = data.getImage().getDataHandler().getInputStream();
其中data
是通过Web服务向Android发出的多部分请求消耗的对象,例如this。
有什么想法吗?