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.