Maison > développement back-end > Golang > le corps du texte

Golang implémente le téléchargement de fichiers

王林
Libérer: 2023-05-14 20:08:38
original
2769 Les gens l'ont consulté

golang implémente le téléchargement de fichiers

À l'ère d'Internet, nous ne pouvons pas nous passer du téléchargement de fichiers, mais peu de gens se soucient du processus de mise en œuvre spécifique du téléchargement de fichiers. Aujourd'hui, nous allons vous présenter comment implémenter le téléchargement de fichiers dans Golang.

Pour faciliter l'affichage, nous sélectionnons un fichier disponible sur Internet. Supposons que l'adresse du fichier que nous devons télécharger soit : http://files.saas.hand-china.com/java/sales-hardware-. management.pdf

Tout d'abord, nous devons introduire le package http et le package os intégrés de Golang :

import (
    "fmt"
    "net/http"
    "os"
)
Copier après la connexion

Ensuite, nous pouvons obtenir le résultat de la réponse du fichier qui doit être téléchargé via http.Get :

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

Il devrait Il convient de noter qu'après avoir obtenu le résultat de la réponse, nous devons fermer le corps de réponse au moment approprié.

Ensuite, nous pouvons créer le fichier qui doit être enregistré via os.Create :

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

où filepath est le chemin du fichier que nous devons enregistrer.

Enfin, nous pouvons écrire le résultat de la réponse dans le fichier que nous venons de créer via io.Copie :

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

fmt.Println("File saved successfully.")
Copier après la connexion

Le code golang complet est le suivant :

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.")
}
Copier après la connexion

Ce qui précède est une brève introduction et une démonstration de l'implémentation golang du téléchargement de fichiers I. Je crois qu'avec cela, par exemple, tout le monde aura une compréhension plus approfondie du processus de mise en œuvre du téléchargement de fichiers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal