【发布时间】:2011-01-18 17:00:35
【问题描述】:
我正在尝试从 URL 读取图像(使用 Java 包 java.net.URL) 到一个字节[]。 “一切”工作正常,除了内容没有完全从流中读取(图像已损坏,它不包含所有图像数据)......字节数组被保存在数据库(BLOB)中.我真的不知道正确的方法是什么,也许你可以给我一个提示。 :)
这是我的第一种方法(代码格式化,删除了不必要的信息......):
URL u = new URL("http://localhost:8080/images/anImage.jpg");
int contentLength = u.openConnection().getContentLength();
Inputstream openStream = u.openStream();
byte[] binaryData = new byte[contentLength];
openStream.read(binaryData);
openStream.close();
我的第二种方法是这个(你会看到contentlength 正在以另一种方式获取):
URL u = new URL(content);
openStream = u.openStream();
int contentLength = openStream.available();
byte[] binaryData = new byte[contentLength];
openStream.read(binaryData);
openStream.close();
这两个代码都导致图像损坏... 我已经阅读了这篇文章from Stack Overflow。
【问题讨论】: