การอัปโหลดไฟล์

เพื่อจัดการการอัปโหลดไฟล์ในโครงสร้างของ 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
})