在Java中从外部服务器读取图像

时间:2018-07-11 13:44:49

标签: java url inputstream

在输入人物搜索时,我需要在jlabel图像图标中显示图像,我打算通过URL进行操作,因为它会读取我本地主机的图像,但是在尝试读取服务器时我上面有这个提示给我一个“找不到文件异常”或已知的错误代码“ 404”,我非常确定所讨论图像的地址是可以的,但是我不知道为什么它不起作用有人可以帮助我。我真的很感激。 我附上我拥有的代码

 try {
            URL url = new URL("http://999.99.99.9/usr/share/tomcat8/webapps/ROOT/img/acm/id157010603.png");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.connect();
            System.out.println("code:"+conn.getResponseCode());
            InputStream is = conn.getInputStream();
            ByteArrayOutputStream os = new ByteArrayOutputStream();         
            byte[] buf = new byte[4096];
            int n;          
            while ((n = is.read(buf)) >= 0) 
                os.write(buf, 0, n);
            os.close();
            is.close(); 
            conn.disconnect();
            byte[] data = os.toByteArray();
            this.binaryImage = data;

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

PD:ip:999.99.99.9仅用于一个示例。

1 个答案:

答案 0 :(得分:0)

路径/usr/share/tomcat8/webapps/ROOT/img/acm/id157010603.png是您要获取的映像位于服务器文件系统上的位置。 Tomcat在不提供其内部路径的情况下将该资源公开给了世界。您可能可以使用以下网址访问它:

http://999.99.99.9/img/acm/id157010603.png