Как загрузить изображение из Интернета в Java

Я провел около двадцати минут или около того, поэтому я подумал, что это стоит того, чтобы поместить это здесь. Тем не менее, это напрямую связано с ответом пользователя137673. Мне было очень полезно сделать что-то вроде этого:

#! /usr/bin/env python

import signal

timeout = None

def main():
    inp = stdinWait("You have 5 seconds to type text and press <Enter>... ", "[no text]", 5, "Aw man! You ran out of time!!")
    if not timeout:
        print "You entered", inp
    else:
        print "You didn't enter anything because I'm on a tight schedule!"

def stdinWait(text, default, time, timeoutDisplay = None, **kwargs):
    signal.signal(signal.SIGALRM, interrupt)
    signal.alarm(time) # sets timeout
    global timeout
    try:
        inp = raw_input(text)
        signal.alarm(0)
        timeout = False
    except (KeyboardInterrupt):
        printInterrupt = kwargs.get("printInterrupt", True)
        if printInterrupt:
            print "Keyboard interrupt"
        timeout = True # Do this so you don't mistakenly get input when there is none
        inp = default
    except:
        timeout = True
        if not timeoutDisplay is None:
            print timeoutDisplay
        signal.alarm(0)
        inp = default
    return inp

def interrupt(signum, frame):
    raise Exception("")

if __name__ == "__main__":
    main()
21
задан 29 May 2009 в 16:34
поделиться

4 ответа

URL url = new URL("http://host/theimage.jpg");
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();

Этого достаточно, чтобы начать тебя? Не знаю, что ты хочешь делать оттуда.

9
ответ дан Surprised Coconut 29 May 2009 в 16:34
поделиться

Вы можете загрузить изображение, используя

BufferedImage img = ImageIO.read(new URL("http://stackoverflow.com/content/img/so/logo.png"));

Чтобы узнать, как отобразить загруженное изображение, см. Учебное пособие по работе с изображениями на Солнце .

54
ответ дан rodion 29 May 2009 в 16:34
поделиться

Я бы взглянул на HTTPClient .

Найдите URL-адрес изображения, и вы можете получить входной поток, передающий вам данные изображения, плюс вы получите тип контента и т. Д., Чтобы вы могли правильно обрабатывать его после загрузки.

Вот пример кода. Вам также может понадобиться вызвать getResponseHeaders () в GetMethod , чтобы определить тип изображения.

2
ответ дан Brian Agnew 29 May 2009 в 16:34
поделиться
5
ответ дан 16 October 2019 в 03:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: