File Upload
Penjelasan
c.FormFile("nama_field") mengambil file yang diupload lewat form multipart/form-data, sama seperti Echo. Bedanya, Fiber punya method praktis c.SaveFile(file, path) yang LANGSUNG menyimpan file itu ke disk, TANPA perlu menulis Open()+io.Copy() manual seperti di Echo.
Contoh Konsep
app.Post("/produk/upload", func(c *fiber.Ctx) error {
file, err := c.FormFile("gambar")
if err != nil {
return err
}
if err := c.SaveFile(file, "./uploads/"+file.Filename); err != nil {
return err
}
return c.JSON(fiber.Map{"namaFile": file.Filename})
})
Praktikum
Buat route POST /artikel/upload yang menerima satu file dengan field name "foto" lewat c.FormFile(), simpan ke folder "uploads/artikel/" lewat c.SaveFile(), merespons JSON berisi nama file yang tersimpan.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
c.SaveFile() adalah salah satu contoh Fiber menyediakan method PRAKTIS untuk operasi umum (dibanding Echo yang lebih dekat ke API net/http standar) — konsisten dengan filosofi Fiber yang mengutamakan developer experience ringkas ala Express.js.