Heim > Backend-Entwicklung > Golang > Golang implementiert den Dateidownload

Golang implementiert den Dateidownload

王林
Freigeben: 2023-05-14 20:08:38
Original
2786 Leute haben es durchsucht

golang implementiert das Herunterladen von Dateien

Im Zeitalter des Internets können wir nicht auf das Herunterladen von Dateien verzichten, aber nur wenige Menschen kümmern sich um den spezifischen Implementierungsprozess des Herunterladens von Dateien. Heute stellen wir vor, wie das Herunterladen von Dateien in Golang implementiert wird.

Zur Vereinfachung der Anzeige wählen wir eine im Internet verfügbare Datei aus. Gehen Sie davon aus, dass die Adresse der Datei, die wir herunterladen müssen, lautet: http://files.saas.hand-china.com/java/sales-hardware-. management.pdf

Zuerst müssen wir Golangs integriertes http-Paket und Betriebssystempaket vorstellen:

import (
    "fmt"
    "net/http"
    "os"
)
Nach dem Login kopieren

Dann können wir das Antwortergebnis der Datei erhalten, die über http.Get heruntergeladen werden muss:

response, err := http.Get(url)
if err != nil {
    fmt.Println("Error fetching response. ", err)
    return
}
defer response.Body.Close()
Nach dem Login kopieren

Das sollte es sein Beachten Sie, dass wir nach Erhalt des Antwortergebnisses den Response.Body zum gegebenen Zeitpunkt schließen müssen.

Als nächstes können wir die Datei erstellen, die über das Betriebssystem gespeichert werden muss. Erstellen Sie:

out, err := os.Create(filepath)
if err != nil {
    fmt.Println("Error creating file. ", err)
    return
}
defer out.Close()
Nach dem Login kopieren

wobei Dateipfad der Pfad der Datei ist, die wir speichern müssen.

Schließlich können wir das Antwortergebnis in die gerade über io erstellte Datei schreiben.Kopieren:

_, err = io.Copy(out, response.Body)
if err != nil {
    fmt.Println("Error saving file. ", err)
    return
}

fmt.Println("File saved successfully.")
Nach dem Login kopieren

Der vollständige Golang-Code lautet wie folgt:

package main

import (
    "fmt"
    "io"
    "net/http"
    "os"
)

func main() {
    url := "http://files.saas.hand-china.com/java/sales-hardware-management.pdf"
    filepath := "sales-hardware-management.pdf"

    response, err := http.Get(url)
    if err != nil {
        fmt.Println("Error fetching response. ", err)
        return
    }
    defer response.Body.Close()

    out, err := os.Create(filepath)
    if err != nil {
        fmt.Println("Error creating file. ", err)
        return
    }
    defer out.Close()

    _, err = io.Copy(out, response.Body)
    if err != nil {
        fmt.Println("Error saving file. ", err)
        return
    }

    fmt.Println("File saved successfully.")
}
Nach dem Login kopieren

Das Obige ist eine kurze Einführung und Demonstration der Golang-Implementierung des Dateidownloads I Ich glaube, dass damit beispielsweise jeder ein tieferes Verständnis für den Implementierungsprozess des Datei-Downloads haben wird.

Das obige ist der detaillierte Inhalt vonGolang implementiert den Dateidownload. 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