1

我有一个问题,我希望你能帮助我。我将不胜感激任何人的帮助。问题如下。

我有一台具有 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检索单个图像

4

3 回答 3

2

您只需要写入图像的字节数据作为响应并设置正确的内容类型,它将从 servlet 提供图像

于 2012-10-10T19:59:11.777 回答
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) {
}
于 2012-10-10T19:58:52.807 回答
1

我错过了什么还是你只是在寻找这个:

new ImageIcon(new URL("http://some.link.to/your/image.jpg"));

如果您需要从 URL 保存数据,则只需从相应的 InputStream 读取字节并将读取的字节写入 FileOutputStream:

于 2012-10-10T20:40:45.857 回答