Maison >développement back-end >Golang >Comment utiliser un message d'erreur personnalisé dans le téléchargement de fichiers Golang ?
Lors du traitement des téléchargements de fichiers dans Go, vous pouvez utiliser des types d'erreur personnalisés pour créer des messages d'erreur personnalisés. Voici les étapes : Créez un type d'erreur personnalisé contenant le texte du message d'erreur. Utilisez un type d'erreur personnalisé pour renvoyer un message d'erreur dans votre code de téléchargement de fichier.
Gestion des téléchargements de fichiers avec des messages d'erreur personnalisés dans Go
Lors de la gestion des téléchargements de fichiers, des messages d'erreur clairs et significatifs sont cruciaux, cela aide au débogage et fournit des commentaires à l'utilisateur. Dans Go, nous pouvons créer des messages d'erreur pour les types d'erreur personnalisés et utiliser ces types pour gérer les erreurs spécifiques qui se produisent lors du téléchargement de fichiers.
Voici comment utiliser les messages d'erreur personnalisés dans Go pour gérer les téléchargements de fichiers :
Créez un type d'erreur personnalisé
Tout d'abord, nous devons créer un type d'erreur personnalisé qui contiendra le texte de notre message d'erreur :
import "fmt" // FileUploadError represents an error that occurred during file upload. type FileUploadError struct { Message string } // Error returns the error message. func (e *FileUploadError) Error() string { return fmt.Sprintf("File upload error: %s", e.Message) }
Utilisez un type d'erreur personnalisé
Après avoir créé le type d'erreur, vous pouvez l'utiliser dans le code de téléchargement du fichier pour renvoyer un message d'erreur personnalisé :
func uploadFile(file *multipart.FileHeader) error { // 检查文件大小 if file.Size > maxFileSize { return &FileUploadError{Message: "File is too large."} } // 检查文件类型 if !allowedFileTypes[file.Header.Get("Content-Type")] { return &FileUploadError{Message: "Invalid file type."} } // 上传文件... }
Cas pratique
Ce qui suit est un cas pratique complet pour démontrer comment pour gérer les téléchargements de fichiers avec des messages d'erreur personnalisés :
import ( "fmt" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "net/http" "os" ) // FileUploadError represents an error that occurred during file upload. type FileUploadError struct { Message string } // Error returns the error message. func (e *FileUploadError) Error() string { return fmt.Sprintf("File upload error: %s", e.Message) } func uploadFile(c echo.Context) error { // 检查文件大小 file, err := c.FormFile("file") if err != nil { return err } if file.Size > maxFileSize { return &FileUploadError{Message: "File is too large."} } // 检查文件类型 if !allowedFileTypes[file.Header.Get("Content-Type")] { return &FileUploadError{Message: "Invalid file type."} } // 上传文件... f, err := os.OpenFile(file.Filename, os.O_WRONLY|os.O_CREATE, 0666) if err != nil { return err } defer f.Close() if _, err = f.Write(file.Bytes()); err != nil { return err } return c.JSON(http.StatusOK, map[string]interface{}{ "status": "success", }) } func main() { e := echo.New() e.Use(middleware.BodyLimit("10mb")) e.POST("/upload", uploadFile) e.Logger.Fatal(e.Start(":1323")) }
Dans l'exemple ci-dessus, nous avons utilisé un FileUploadError
type d'erreur personnalisé pour renvoyer un message d'erreur de téléchargement de fichier détaillé et significatif.
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!