Maison >développement back-end >Golang >Traitement des fichiers d'application Web d'apprentissage Golang
Avec le développement continu de la technologie Internet, la demande d'applications Web augmente également. Dans le processus de développement d'applications Web, il est souvent nécessaire de gérer des opérations sur les fichiers et les répertoires, telles que le téléchargement de fichiers, l'affichage de listes de fichiers, etc. Dans le langage Golang, le traitement des fichiers est un point de connaissance très basique et un élément indispensable du développement d'applications Web. Cet article présentera comment Golang gère les opérations sur les fichiers dans les applications Web.
1. Opérations sur les fichiers
Les opérations sur les fichiers dans Golang sont principalement implémentées via le package os. Le package os fournit principalement les fonctions d'opération de fichiers et de répertoires suivantes :
1 Créer un fichier ou un répertoire
Nom de la fonction : os.Create(name string) (*os.File, erreur) #🎜 🎜# Objectif de la fonction : Créer un fichier nommé name. Si le fichier n'existe pas, créez-le. S'il existe, effacez le fichier
Objectif de la fonction : Créer un répertoire nommé name, le paramètre perm spécifie les autorisations du répertoire
2 Ouvrir le fichier
Objectif de la fonction : Ouvrir un fichier nommé nom, si le fichier n'existe pas, renvoyer une erreur
3. 🎜🎜#Nom de la fonction : os. Remove(name string) error
. Nom de la fonction : os.RemoveAll(path string ) error
Objectif de la fonction : Supprimer un répertoire multi-niveaux Si le répertoire n'existe pas, une erreur est renvoyée
4. 🎜#Nom de la fonction : os.ReadDir(dirname string) ([]os.DirEntry, erreur)
Objectif de la fonction : lire tous les fichiers et informations de répertoire sous le répertoire dirname et renvoyer une tranche de type os.DirEntry#🎜 🎜#
Dans les applications Web, le téléchargement de fichiers est une exigence fonctionnelle courante. La méthode d'implémentation spécifique est la suivante :
1. la balise d'entrée du fichier téléchargé dans le formulaire HTML
fefcb30236bdeaaa7714d83e86dc7ebc
<input type="file" name="uploadfile" /> <input type="submit" value="上传文件" />
e083986a812e016ef20466f844ca7465
2. Dans le backend Dans le code, récupérez les informations sur le fichier téléchargé
file, handler, err := r.FormFile("uploadfile")#🎜🎜 #if err != nil {
//处理错误信息
}
où r est une variable de type http.Request Les informations sur le fichier peuvent être obtenues via la fonction r.FormFile. l’acquisition échoue, un message d’erreur sera renvoyé.
3. Enregistrez le fichier téléchargé
if err != néant {
//处理错误信息
}
defer out.Close()
_, err = io.Copy(out, file)
if err != nil {
//处理错误信息
}
Après avoir obtenu les informations sur le fichier, vous devez créer un fichier de sortie, puis écrire le contenu du fichier téléchargé via io.Copy fonction Dans le fichier de sortie, terminez l'opération de sauvegarde du fichier.
3. Téléchargement de fichiers
. #🎜🎜 #1.Envoyer des fichiers via le protocole HTTP
filename := "./uploads/examplefile.txt"
f, err := os.Open(filename) #🎜🎜 #if err != nil {
//处理错误信息
}
defer f.Close()header := make([]byte, 512)# 🎜🎜# if _, err := f.Read(header); err != nil {//处理错误信息}
fileStat, err := f.Stat()# 🎜🎜# if err != nil {
//处理错误信息
}
w.Header().Set("Content-Length", strconv.FormatInt(fileStat.Size (), 10))
io.Copy(w, f)
Dans cet exemple, d'abord via le système d'exploitation Fonction .Open Ouvrez le fichier qui doit être téléchargé, puis envoyez le contenu du fichier et les informations associées via le protocole http, et enfin écrivez le contenu du fichier dans le corps de la réponse HTTP via la fonction io.Copy pour implémenter l'opération de téléchargement de fichier.
#🎜 🎜# 1. Récupérez la liste des fichiers dans le répertoire
dir, err := os.ReadDir("./uploads")
//处理错误信息# 🎜🎜# }
if !d.IsDir() { fmt.Fprintf(w, "<a href="/download?file=%s">%s</a><br>", d.Name(), d.Name()) }}#🎜🎜 ##🎜🎜 #Dans cet exemple, la liste des fichiers dans le répertoire spécifié est obtenue via la fonction os.ReadDir, puis la liste des fichiers est affichée sur la page Web via l'opération de traversée et un lien de téléchargement de fichier est fourni. 5. Résumé A travers l'introduction de cet article, nous pouvons constater que les opérations sur les fichiers en langage Golang sont très basiques, mais ce sont des points de connaissances essentiels pour développer des applications web. . Le téléchargement de fichiers, le téléchargement et l'affichage de listes sont des exigences courantes en matière d'exploitation de fichiers. Dans le développement réel, les méthodes ci-dessus doivent être appliquées de manière flexible pour répondre aux besoins des applications Web.
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!