Heim >Backend-Entwicklung >Golang >Wie speichere ich ein Bild effizient von einer URL in einer Datei in Go?
Bild von URL in Datei in Go speichern
In Go kann das Herunterladen und Speichern von Bildern von URLs über das Paket net/http erfolgen . Der bereitgestellte Code weist ein kleines Problem beim Konvertieren der Bilddaten vom Typ image.Image in []byte auf, bevor sie in eine Datei geschrieben werden. Es gibt jedoch eine einfachere Methode zur Bewältigung dieser Aufgabe:
Modifizierter Ansatz:
Beim modifizierten Ansatz vermeiden wir die Bilddekodierung und kopieren den Antworttext direkt in eine Datei. Möglich wird dies durch den Komfort von io.Copy, das eine nahtlose Übertragung von Datenströmen ermöglicht. Hier ist der überarbeitete Code:
import ( "fmt" "io" "log" "net/http" "os" ) func main() { url := "http://i.imgur.com/m1UIjW1.jpg" response, err := http.Get(url) if err != nil { log.Fatal(err) } defer response.Body.Close() file, err := os.Create("/tmp/image.jpg") if err != nil { log.Fatal(err) } defer file.Close() _, err = io.Copy(file, response.Body) if err != nil { log.Fatal(err) } fmt.Println("Image downloaded and saved successfully!") }
Wichtige Punkte:
Das obige ist der detaillierte Inhalt vonWie speichere ich ein Bild effizient von einer URL in einer Datei in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!