Speichern Sie ein Bild von URL zu Datei

9

Sehr neu in Go (erstes einfaches Projekt, an dem ich gerade arbeite).

Frage: Wie bekomme ich ein Bild von URL und dann speichern Sie es auf meinem Computer?

Folgendes habe ich bisher:

%Vor%

Wenn ich diesen Code ausführe, bekomme ich cannot use m (type image.Image) as type []byte in function argument

Ich gehe davon aus, dass ich Image.Image (Variable m ) in eine undefinierte Menge an Bytes konvertieren muss? Ist das die richtige Vorgehensweise?

    
Jacob Kranz 14.03.2014, 22:59
quelle

3 Antworten

21

Sie müssen die Datei nicht dekodieren. Kopieren Sie einfach den Antworttext in eine Datei, die Sie geöffnet haben. Hier ist das Geschäft im modifizierten Beispiel:

  1. response.Body ist ein Datenstrom und implementiert die Reader -Schnittstelle - was bedeutet, dass Sie Read nacheinander aufrufen können, als wäre es eine offene Datei.
  2. Die Datei, die ich hier öffne, implementiert die Writer -Schnittstelle. Dies ist das Gegenteil - es ist ein Stream, den Sie Write aufrufen können.
  3. io.Copy "patcht" einen Reader und einen Writer, konsumiert den Reader Stream und schreibt seinen Inhalt in einen Writer.

Dies ist eines meiner Lieblingsdinge über go - implizite Schnittstellen. Sie müssen nicht angeben, dass Sie eine Schnittstelle implementieren, Sie müssen sie nur implementieren, um sie in einem bestimmten Kontext zu verwenden. Dies ermöglicht das Mischen und Abgleichen von Code, der nicht über anderen Code, mit dem er interagiert, informiert werden muss.

Paket Haupt

%Vor%     
Not_a_Golfer 14.03.2014, 23:10
quelle
1
%Vor%     
Cory 14.03.2014 23:14
quelle
0

Was ist der Typ von response.Body ? Sie sollten das nur in ein []byte konvertieren, wenn dies nicht der Fall ist, und dieses auf die Festplatte schreiben. Es gibt keinen Grund, die Klasse image zu verwenden, es sei denn, Sie haben einen Grund, die Daten als Bild zu behandeln. Behandeln Sie die Daten einfach als eine Reihe von Bytes und schreiben Sie sie auf die Festplatte.

    
David Grayson 14.03.2014 23:09
quelle

Tags und Links