Apabila mengendalikan muat naik fail dalam Go, anda boleh menggunakan jenis ralat tersuai untuk membuat mesej ralat tersuai. Berikut ialah langkah-langkahnya: Buat jenis ralat tersuai yang mengandungi teks mesej ralat. Gunakan jenis ralat tersuai untuk mengembalikan mesej ralat dalam kod muat naik fail anda.
Mengendalikan muat naik fail dengan mesej ralat tersuai dalam Go
Apabila mengendalikan muat naik fail, mesej ralat yang jelas dan bermakna adalah penting, ia membantu menyahpepijat dan memberikan maklum balas kepada pengguna. Dalam Go, kami boleh membuat mesej ralat untuk jenis ralat tersuai dan menggunakan jenis ini untuk mengendalikan ralat tertentu yang berlaku semasa muat naik fail.
Begini cara menggunakan mesej ralat tersuai dalam Pergi untuk mengendalikan muat naik fail:
Buat jenis ralat tersuai
Mula-mula, kita perlu mencipta jenis ralat tersuai yang akan mengandungi teks mesej ralat kami:
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) }
Gunakan jenis ralat tersuai
Selepas mencipta jenis ralat, anda boleh menggunakannya dalam kod muat naik fail untuk mengembalikan mesej ralat tersuai:
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."} } // 上传文件... }
Kes praktikal
Berikut ialah kes praktikal yang lengkap untuk menunjukkan Bagaimana untuk mengendalikan muat naik fail dengan mesej ralat tersuai:
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")) }
Dalam contoh di atas, kami menggunakan FileUploadError
jenis ralat tersuai untuk mengembalikan mesej ralat muat naik fail yang terperinci dan bermakna.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan mesej ralat tersuai dalam muat naik fail Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!