Lewati ke konten

Unggah file

Gin membuat penanganan unggahan file multipart menjadi sederhana. Framework ini menyediakan metode bawaan pada gin.Context untuk menerima file yang diunggah:

  • c.FormFile(name) — Mengambil satu file dari permintaan berdasarkan nama field form.
  • c.MultipartForm() — Melakukan parse seluruh form multipart, memberikan akses ke semua file yang diunggah dan nilai field.
  • c.SaveUploadedFile(file, dst) — Metode praktis untuk menyimpan file yang diterima ke path tujuan di disk.

Batas memori

Gin menetapkan batas memori bawaan sebesar 32 MiB untuk parsing form multipart melalui router.MaxMultipartMemory. File dalam batas ini disimpan sementara di memori; yang melebihi batas ditulis ke file sementara di disk. Anda dapat menyesuaikan nilai ini sesuai kebutuhan aplikasi Anda:

router := gin.Default()
// Menurunkan batas menjadi 8 MiB
router.MaxMultipartMemory = 8 << 20 // 8 MiB

Catatan keamanan

Nama file yang dilaporkan oleh klien (file.Filename) tidak boleh dipercaya begitu saja. Selalu sanitasi atau ganti sebelum menggunakannya dalam operasi sistem file. Lihat dokumentasi Content-Disposition di MDN untuk detail.

Sub-halaman