Ne işe yarar (iş diliyle)
Kullanıcı büyük bir dosya (50–200 MB video, yüksek çözünürlüklü görsel, CV) yüklerken bu dosya sunucuya uğramadan doğrudan depolamaya gider. Sonuç: sunucu büyük dosya trafiğiyle yorulmaz, yükleme daha hızlı ve ucuz olur, sistem aynı anda çok yüklemeyi rahatça kaldırır. İş değeri: medya toplayan ürünlerde “yavaşlama/ çökme/yüksek bant maliyeti” sorununu en baştan çözer.
Hangi müşteri/projelerde işe yarar
Kullanıcıdan dosya alan her ürün: video başvuru/mülakat, CV/portföy yükleme, saha fotoğrafı/hasar tespiti, ürün görseli, belge arşivi. Özellikle büyük dosya veya yüksek hacimli yükleme olan her senaryoda.
Nasıl çalışır (kısa, sade)
Sunucu, depolama için kısa süreli “imzalı bir yükleme adresi” üretir → tarayıcı dosyayı doğrudan o adrese yükler → sunucuya yalnızca “yüklendi” bilgisi ve dosyanın anahtarı döner. Depolama kovaları gizli kalır; web ve arka plan işçisi farklı, sınırlı yetkili anahtarlar kullanır.
Olgunluk
canlida-kanitlanmis — Aday’da mülakat videoları, CV ve toplu video yüklemelerinde kullanılıyor (MinIO).
Kritik ders: AWS SDK v3 + MinIO ikilisinde S3Client’a requestChecksumCalculation: "WHEN_REQUIRED"
eklenmezse presigned PUT 400 döner; CORS ayarı da tarayıcı yüklemesi için şart.
Teknik (geliştiriciler için)
aday · src/lib/s3.ts (S3Client + presign + checksum fix), src/lib/upload.ts, presign üreten API
route’ları (örn. /api/video-analysis, /api/sessions/[token]/responses). Girdi: dosya adı/tipi.
Çıktı: presigned PUT URL + nesne anahtarı. Sınır: doğrudan-yükleme uçları yetki arkasında olmalı (suistimal
riski); bucket’lar private + lifecycle ile yönetilir; tarayıcı upload çok büyük dosyada kopabilir. Server-
side optimizasyon+yedek isteyen akış için bkz. medya-pipeline-r2.