Dosya Yönetimi

Form alanlarına entegre dosya yükleme, güvenli depolama ve kolay erişim.

Dosya Yönetimi Altyapısı

Flowvio'da dosyalar form alanlarına entegre çalışır. Her form kaydına ilgili dosyalar eklenir; bu dosyalar formun yaşam döngüsüyle birlikte yönetilir. Ayrı bir dosya yönetim sistemi kullanmanıza gerek kalmaz.

Form Builder'da Dosya Alanı Ekleme

Form Builder'da sol panelden Dosya Yükleme elementini seçip layout'a sürükleyin. Sağ panelden şu ayarları yapılandırın:

  • Kabul edilen dosya tipleri: PDF, resim, Word, Excel veya tümü
  • Maksimum dosya boyutu
  • Çoklu dosya: aynı alana birden fazla dosya yüklenebilsin mi?
  • Zorunluluk: dosya yüklenmeden form gönderilebilsin mi?

Dosya Yükleme Deneyimi

Kullanıcılar form doldururken iki yöntemle dosya yükleyebilir:

  • Sürükle-bırak — dosyayı tarayıcıya sürükleyin, alan üzerine bırakın
  • Dosya seç butonu — sistem dosya diyaloğu açılır

Yükleme tamamlandığında dosya adı, boyutu ve türü gösterilir. Yükleme başarısız olursa hata mesajı görüntülenir; tekrar denenebilir.

Güvenlik ve Bütünlük

Her dosya yükleme işleminde:

  • SHA-256 checksum hesaplanır ve saklanır
  • Aynı checksum'a sahip dosya daha önce yüklendiyse tekrar depolanmaz; referans paylaşılır (dedup)
  • Dosyalara erişim JWT kimlik doğrulaması gerektirir
  • Yetki kontrolü her indirme isteğinde uygulanır
  • Dosya UUID ile adlandırılır; orijinal ad URL'de görünmez

Geçici ve Kalıcı Dosyalar

Form kaydı henüz kaydedilmemişken yüklenen dosyalar geçici olarak işaretlenir. Kayıt tamamlandığında dosyalar kalıcı statüsüne geçer. Tamamlanmamış yüklemeler Celery zamanlayıcısı tarafından belirli aralıklarla temizlenir; depolama alanı gereksiz dosyalarla dolmaz.

Mobil Dosya Yükleme

Flutter uygulamasında dosya yükleme kamera, galeri veya yerel dosya sistemi üzerinden yapılabilir. Yüklenen dosyalar web arayüzünde anında görünür.

Depolama Esnekliği

Varsayılan olarak dosyalar sunucu dosya sistemine kaydedilir. Üretim ortamında Amazon S3 veya uyumlu nesne depolama servislerine (MinIO, DigitalOcean Spaces vb.) geçiş yapılabilir. Bu geçiş uygulama kodunda değişiklik gerektirmez; yalnızca ortam değişkeni güncellenir.