การอัปโหลดไฟล์
เพื่อจัดการการอัปโหลดไฟล์ในโครงสร้างของ Go Fiber framework คุณสามารถใช้ฟังก์ชัน FormFile ของอ็อบเจกต์ของ context ได้ ลายเซ็นฟังก์ชันมีดังนี้:
func (c *Ctx) FormFile(key string) (*multipart.FileHeader, error)
ต่อไปนี้คือตัวอย่างการอัปโหลดไฟล์:
app.Post("/", func(c *fiber.Ctx) error {
// อ่านไฟล์ผ่านคีย์ของเอกสาร และหัวอัปโหลดไฟล์จะต้องอยู่ในรูปแบบ multipart/form-data
file, err := c.FormFile("document")
// บันทึกไฟล์ไปยังไดเรกทอรีที่กำหนด
return c.SaveFile(file, fmt.Sprintf("./%s", file.Filename))
})
การดาวน์โหลดไฟล์
เพื่อจัดการการดาวน์โหลดไฟล์ใน Go Fiber คุณสามารถใช้ฟังก์ชัน Download ตามที่แสดงด้านล่าง:
app.Get("/", func(c *fiber.Ctx) error {
return c.Download("./files/report-12345.pdf")
// => ดาวน์โหลด report-12345.pdf
return c.Download("./files/report-12345.pdf", "report.pdf")
// => ดาวน์โหลด report.pdf
})