Cara golang gin

PHPz
PHPzasal
2023-05-19 11:02:07571semak imbas

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 fail

Muat 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. Ringkasan

Fungsi 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Golang melaksanakan pyffxArtikel seterusnya:Golang melaksanakan pyffx