Rumah >pembangunan bahagian belakang >Golang >Cara golang gin
Memuat naik dan memuat turun fail
Gin ialah rangka kerja pembangunan web yang dibangunkan menggunakan bahasa Go Ia cekap, mudah digunakan dan fleksibel. Untuk memuat naik dan memuat turun fail, fungsi ini boleh dilaksanakan dengan mudah menggunakan rangka kerja Gin. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Gin untuk memuat naik dan memuat turun fail.
1. Muat naik fail
Dalam rangka kerja Gin, muat naik fail memerlukan penggunaan borang MultipartForm. Mula-mula, anda perlu mentakrifkan fungsi penghalaan dan pemprosesan:
penghala.POST("/upload", uploadHandler)
func uploadHandler(c *gin.Context) {
file, err := c.FormFile("file") if err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": err.Error(), }) return } filename := filepath.Base(file.Filename) if err := c.SaveUploadedFile(file, filename); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "error": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "message": fmt.Sprintf("'%s' uploaded!", filename), })
}
Dalam fungsi pemprosesan fail yang dimuat naik, mula-mula dapatkan fail yang dimuat naik melalui fungsi c.FormFile() dan lakukan pengendalian ralat. Kemudian dapatkan nama fail dan gunakan fungsi c.SaveUploadedFile() untuk menyimpan fail ke direktori yang ditentukan. Akhirnya, hasil muat naik dikembalikan melalui JSON.
Mulakan perkhidmatan Gin dan lawati http://localhost:8080/upload Anda akan melihat antara muka berikut:
https://user-images.githubusercontent.com/36320997/129822689. - f45e849c-7cae-4ad9-9107-aae98f76d34c.png
Selepas fail berjaya dimuat naik, anda akan melihat hasil pemulangan JSON berikut:
{
rreee🎜>
2. Muat turun failMuat turun fail memerlukan perkhidmatan fail statik rangka kerja Gin. Ini boleh dicapai melalui operasi berikut: 1 Cipta mana-mana direktori dalam aplikasi untuk menyimpan fail yang dimuat turun. 2. Dalam penghalaan Gin, tentukan akses kepada fail dalam direktori ini, seperti berikut: router.StaticFS("/download", http.Dir("tmp"))3. Dalam fungsi pemprosesan penghalaan, tentukan antara muka muat turun berdasarkan nama fail, seperti berikut: router.GET("/download/:filename", downloadHandler) func downloadHandler(c *gin.Context) {
"message": "'test.txt' uploaded!"}Dalam fungsi pemprosesan muat turun fail, anda perlu mendapatkan nama fail melalui c.Param(), tentukan sama ada fail itu wujud , dan tetapkan pengepala respons HTTP muat turun Akhirnya, fail ditulis ke dalam respons untuk melaksanakan fungsi muat turun fail. Mulakan perkhidmatan Gin dan lawati pautan berikut http://localhost:8080/download/test.txt untuk memuat turun fail test.txt. 3. RingkasanFungsi muat naik dan muat turun fail dilaksanakan melalui rangka kerja Gin, yang elegan dan ringkas Kod di atas hanyalah pelaksanaan asas. Dalam penggunaan sebenar, anda juga perlu mempertimbangkan lokasi penyimpanan fail dan cara menyimpan fail, serta operasi fail seterusnya Pembaca boleh memperbaikinya berdasarkan keadaan sebenar mereka sendiri.
Atas ialah kandungan terperinci Cara golang gin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!