Heim > Backend-Entwicklung > Golang > Wie kann ein Go-Anfänger Bilder effizient von einer URL herunterladen und speichern?

Wie kann ein Go-Anfänger Bilder effizient von einer URL herunterladen und speichern?

DDD
Freigeben: 2024-12-08 19:00:13
Original
1046 Leute haben es durchsucht

How Can a Go Beginner Efficiently Download and Save Images from a URL?

Bilder von URLs speichern

Frage:

Wie kann ich als Anfänger in Go? Ich rufe ein Bild von einer URL ab und speichere es lokal?

Anfänglich Ansatz:

Der bereitgestellte Code versucht, das Bild mithilfe von image.Decode zu dekodieren, das zum Dekodieren von Bilddateien entwickelt wurde. Allerdings sollten die abgerufenen Daten stattdessen als Rohbytes behandelt werden.

Aktualisierter Ansatz:

Um das Bild direkt von der URL zu speichern, können wir ioutil.ReadFrom to verwenden Kopieren Sie den Antworttext, der die Bilddaten enthält, in eine lokale Datei.

Hier ist die Änderung Code:

package main

import (
    "fmt"
    "io"
    "io/ioutil"
    "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("/images/asdf.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 saved successfully!")
}
Nach dem Login kopieren

Erklärung:

  • Der HTTP-Antworttext wird als Bytestrom behandelt.
  • io.Copy ist Wird verwendet, um die Bytes vom Stream in die lokale Datei zu übertragen.
  • Abhängig von der Dateigröße kann die Übertragung möglicherweise einige Zeit dauern, aber Es ist ein effizienter Ansatz für den Umgang mit großen Bildern.

Das obige ist der detaillierte Inhalt vonWie kann ein Go-Anfänger Bilder effizient von einer URL herunterladen und speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage