Maison > développement back-end > Golang > Comment gérer les téléchargements de fichiers sur un serveur Golang net/http ?

Comment gérer les téléchargements de fichiers sur un serveur Golang net/http ?

Patricia Arquette
Libérer: 2024-12-09 19:12:25
original
839 Les gens l'ont consulté

How to Handle File Uploads in a Golang net/http Server?

Comment recevoir un fichier téléchargé à l'aide d'un serveur Golang net/http

Lorsque vous essayez d'implémenter un simple point de terminaison de téléchargement de fichier dans Golang à l'aide de Mux et net/http, la récupération les données du fichier du corps de la demande peuvent poser un défi. La solution suivante résout ce problème :

import (
    "bytes"
    "fmt"
    "io"
    "net/http"
    "strings"
)

func ReceiveFile(w http.ResponseWriter, r *http.Request) {
    r.ParseMultipartForm(32 << 20) // limit your max input length!
    var buf bytes.Buffer
    file, header, err := r.FormFile("file") // replace "file" with the expected form field name
    if err != nil {
        panic(err)
    }
    defer file.Close()
    name := strings.Split(header.Filename, ".")
    fmt.Printf("File name %s\n", name[0])
    io.Copy(&buf, file)
    contents := buf.String()
    fmt.Println(contents)
    buf.Reset()
    return
}
Copier après la connexion

Cette fonction :

  • Analyse le formulaire en plusieurs parties de la demande.
  • Récupère le fichier téléchargé à partir du nom de champ fourni ( remplacez "file" par votre nom de champ réel).
  • Lit le contenu du fichier dans un buffer.
  • Imprime le nom du fichier sur la console.
  • Convertit le contenu du tampon en chaîne.
  • Imprime le contenu du fichier sur la console.
  • Réinitialise le tampon pour une réutilisation potentielle.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal