Maison  >  Article  >  développement back-end  >  Golang implémente le téléchargement de fichiers

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

王林
王林original
2023-05-14 20:08:382714parcourir

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"
)

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()

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()

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.")

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.")
}

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!

Déclaration:
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