Study
Fiber

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.

Editor Latihan

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.