İçeriğe geç

Dosya yükleme

Gin, multipart dosya yüklemelerini kolayca işlemeyi sağlar. Framework, yüklenen dosyaları almak için gin.Context üzerinde yerleşik metodlar sunar:

  • c.FormFile(name) — İstekten form alan adına göre tek bir dosya alır.
  • c.MultipartForm() — Tüm multipart formu ayrıştırır, yüklenen tüm dosyalara ve alan değerlerine erişim sağlar.
  • c.SaveUploadedFile(file, dst) — Alınan bir dosyayı diskteki hedef yola kaydeden kullanışlı bir metod.

Gin, multipart form ayrıştırması için router.MaxMultipartMemory aracılığıyla varsayılan 32 MiB bellek limiti ayarlar. Bu limitin altındaki dosyalar bellekte tamponlanır; bu limiti aşan dosyalar diskteki geçici dosyalara yazılır. Bu değeri uygulamanızın ihtiyaçlarına göre ayarlayabilirsiniz:

router := gin.Default()
// Lower the limit to 8 MiB
router.MaxMultipartMemory = 8 << 20 // 8 MiB

İstemci tarafından bildirilen dosya adı (file.Filename) güvenilmemelidir. Dosya sistemi işlemlerinde kullanmadan önce her zaman temizleyin veya değiştirin. Ayrıntılar için MDN’deki Content-Disposition belgelendirmesine bakın.