Если предположить, что ваш PHP скрипт фактически возвращающий изображение, то, что вы делаете, по крайней мере для разумных размеров изображения, это открыть его с javax.imageio.ImageIO
, который является классом, содержащий вспомогательные методы для чтения изображений - из файла, из потока и т.д.
try {
URL url = new URL("http://xxxxx.php/");
URLConnection connection = url.openConnection();
// Pass the input stream thorough a BufferedInputStream for better
// efficiency
InputStream is = new BufferedInputStream(connection.getInputStream());
// Read the image and close the stream
Image image = ImageIO.read(is);
is.close();
if (image == null) {
System.err.println("ImageIO could not find a reader for this image");
} else {
// Display GUI
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel(new ImageIcon(image));
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
} catch (IOException e) {
e.printStackTrace();
}
Чтобы избежать проблем, убедитесь, что -й на PHP-скрипте отправляется соответствующий MIME-тип (image/jpeg
, image/gif
, image/png
и т. д.).
Если вы имели в виду, что ваш PHP скрипт возвращающий HTML, который имеет IMG
тег где-то на него, то вам нужно разобрать его, используя, например, jsoup.
Основываясь на вашем знании структуры HTML, вы
- Найти подходящий
IMG
тег
- Извлечение URL из атрибута
SRC
.
- Если URL-адрес относительный (не начинается с
http://
, https://
и т. Д.), Вам необходимо добавить его к базовому URL-адресу скрипта PHP.
- Затем используйте приведенный выше код, чтобы отобразить изображение из результирующего URL.
Обратите внимание, что если создатель этого сайта решит изменить свой дизайн, ваша программа перестанет работать. Если у вас есть лучший способ найти нужное изображение без чтения HTML (например, с помощью API или веб-сервиса), это будет намного лучше.
Что вы хотите сделать? – RealSkeptic
Я хочу добавить его в мое приложение – user2939293
Что вы хотите сделать с ним в своем приложении? Какой объект вы собираетесь использовать? Что он собирается делать? Бинарные данные есть, но вопрос в том, что вы намерены делать с ним? – RealSkeptic