我遇到了问题,希望你能帮助我。我将不胜感激任何人的帮助。问题如下。
我有一台有http服务的相机,我正在使用http与相机通信。所以问题是我发送http请求并且我已经回复了一个http响应,其中我有一个二进制jpeg数据。但我不知道如何将这些数据转换成图片。
所以我的问题是如何用java将二进制数据转换成图片?
这是一个例子
http请求:
GET (url to picture)
http回复:
binary jpeg data
我感谢你们所有人的帮助。
URL url = new URL("http://10.10.1.154" + GETIMAGESCR());
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String inputLine;
// while ((inputLine = in.readLine()) != null){
// inputLine = in.readLine();
File file = new File("D:\\alphas\\proba.bin");
boolean postoi = file.createNewFile();
FileWriter fstream = new FileWriter("D:\\alphas\\proba.bin");
BufferedWriter out = new BufferedWriter(fstream);
while ((inputLine = in.readLine()) != null){
out.write(in.readLine());
// out.close();
// System.out.println("File created successfully.");
System.out.println(inputLine);
}
System.out.println("File created successfully.");
out.close();
in.close();
使用此代码,我将获取二进制JPEG数据,并且我将数据保存在文件中。那么现在的问题是如何将这些数据转换成图片,或者如何创建图片? 顺便说一句,我不需要保存我得到的文件,如果你有办法直接创建图片,那将是最好的方式
通过java中的url检索单个图像
答案 0 :(得分:2)
你只需要在响应中写入图像的字节数据并设置正确的内容类型,它将从servlet提供图像
答案 1 :(得分:1)
try {
URL url = new URL("http://site.com/image.jpeg");
java.awt.Image image = java.awt.Toolkit.getDefaultToolkit().createImage(url);
} catch (MalformedURLException e) {
} catch (IOException e) {
}
答案 2 :(得分:1)
我错过了什么,或者你只是在寻找这个:
new ImageIcon(new URL("http://some.link.to/your/image.jpg"));
如果您需要保存URL中的数据,那么只需从相应的InputStream读取字节并将读取的字节写入FileOutputStream: