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.