我有一个正在运行的Web 服务,可以使用我的 Android 平板电脑相机(Samsumg Galaxy TAB 10.1)生成的图像。
在使用以1024x768分辨率 (0.8M)拍摄的图像时,它可以完美运行。但是,当使用平板电脑的最高分辨率(2048x1536或 3.2M)时,保存的图像根本不起作用。它保存了一个 0kb 大小的损坏的图像文件。
这是与 web 服务中的图像保存相关的代码:
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 发出的多部分请求使用的对象在哪里,就像这样。
有任何想法吗?