Upload file
Gin memudahkan penanganan upload file multipart. Framework ini menyediakan metode bawaan pada gin.Context untuk menerima file yang diupload:
c.FormFile(name)— Mengambil satu file dari permintaan berdasarkan nama field form.c.MultipartForm()— Mem-parse seluruh form multipart, memberikan akses ke semua file yang diupload dan nilai field.c.SaveUploadedFile(file, dst)— Metode praktis yang menyimpan file yang diterima ke path tujuan di disk.
Batas memori
Gin menetapkan batas memori default sebesar 32 MiB untuk parsing form multipart melalui router.MaxMultipartMemory. File dalam batas ini di-buffer di memori; yang melebihi batas ditulis ke file sementara di disk. Anda dapat menyesuaikan nilai ini sesuai kebutuhan aplikasi Anda:
router := gin.Default()// Lower the limit to 8 MiBrouter.MaxMultipartMemory = 8 << 20 // 8 MiBCatatan 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
- File tunggal — Upload dan simpan satu file per permintaan.
- Banyak file — Upload dan simpan banyak file dalam satu permintaan.
- Batasi ukuran upload — Batasi ukuran upload menggunakan
http.MaxBytesReader.