Wie laden Sie Bild aus url in java?
Ich habe versucht, laden Sie ein Bild aus url per java.
Ich habe versucht, es zu lösen mit vielen Möglichkeiten, aber es gelang mir nicht.
Schreibe ich meine Wege in der Hoffnung, jemand wird Sie finden, wo es schief ging:
Mit der ersten und der zweiten Weise ich die folgende Fehlermeldung erhalten, während ich versuche, öffnen Sie das Bild:
... Datei scheint beschädigt zu sein, ist beschädigt oder zu groß ist
...und seine Größe ist kleiner als es sein sollte.
Ich denke, es ist im Zusammenhang zu Kodieren.
Erste Möglichkeit:
URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
InputStream in = url.openStream();
Files.copy(in, Paths.get("someFile.jpg"), StandardCopyOption.REPLACE_EXISTING);
in.close();
Zweite Möglichkeit:
File f= new File("c:\\image.jpg");
URL myUrl = new URL("http://www.avajava.com/images/avajavalogo.jpg");
FileUtils.copyURLToFile(myUrl, f);
Mit Weg 3 bekomme ich Exception in thread "main" java.lang.IllegalArgumentException: image == null!
Dritten Weg:
URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
BufferedImage img = ImageIO.read(url);
File file = new File("downloaded.jpg");
ImageIO.write(img, "jpg", file);
Ich brauche wirklich Eure Hilfe!!! Ich habe versucht, es zu lösen, eine lange Zeit ohne Erfolg.
Vielen Dank im vorraus!!!!!!
Die erste Möglichkeit funktioniert auf meiner Seite
Bitte fügen Sie die heruntergeladene Datei aus dem 1. Fall hier, also können wir überprüfen, ob es wirklich beschädigt ist. Auch ich würde versuchen, den Download über andere Mittel und tun diff auf, und java-heruntergeladen, um zu sehen, was die dfiference
Ein Bild ist nur eine binäre Inhalt nichts mehr. Wissend, dass die ersten arbeiten mit jeder Art von Inhalt (Binär oder nicht), es wird die Arbeit mit Bildern zu
die einzige Bemerkung, die ich machen könnte, ist die Verwendung eines try-mit-Ressourcen-Anweisung zu schließen stream was auch immer passiert, wie diese Antwort stackoverflow.com/a/32472138/1997376
InformationsquelleAutor coral | 2016-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie geben Sie den vollständigen Speicherort für die Zieldatei, in Weg 3,
Seine Arbeiten gut für mich
InformationsquelleAutor Vadivelan
Wenn dies geschieht in der Regel das Bild, das Sie herunterladen möchten, befindet sich im inneren ein Platzhalter. Platzhalter werden verwendet, um das Bild einige schönen schwarzen hintergrund in allen Browsern oder jede Art von wertvollen Methoden..
Versuchen, öffnen Sie Ihre heruntergeladenen Bilder mit geringer Größe mit einem beliebigen text-editor. Sie werden wahrscheinlich überrascht sein zu sehen, einen HTML-code in Ihrem vermeintlichen image. Dieser HTML-code wird ein paar Zeilen, in der Regel eine hintergrund Farbe-tag und das Bild real URL. Dies ist die URL, die Sie enthalten in Ihrem code, um den download der kompletten Bild.
Dies könnte ein Beispiel für die avajavalogo.jpg - Datei, die Sie tatsächlich herunterladen:
Wenn Sie versuchen, öffnen Sie diese Datei mit einem Bild-editor, wird es werfen eine Fehlermeldung (falscher Header, schlechtes format, etc), und das Bild wird nicht geöffnet werden. Es ist nicht der Fall, der das Bild, das Sie gezeigt haben in Ihrer Frage, aber es könnte der Fall sein bei den Bildern, die Sie tatsächlich herunterladen möchten.
Abgesehen davon, dass die Methoden, die gültig sind.
InformationsquelleAutor fenix121