Repository navigation
Medya ve Dosyalar
English · Türkçe · Languages / Diller
Kapsam: JSON API Forge 0.5.1 · İnceleme: 17 Eylül 2026 · Dil: Türkçe
v0.5.1'in medya backend'i local filesystem'dır. S3/R2 gibi object-storage adapter'ı uygulanmış olarak sunulmaz. Fiziksel dosya ile iç veritabanındaki metadata birlikte yönetilir; storage key public yanıtta verilmez.
{
"media": {
"enabled": true, "backend": "local",
"local_directory": "./data/media-files",
"max_upload_bytes": 10485760, "max_batch_files": 5,
"max_owner_bytes": 104857600,
"allowed_mime_types": ["image/png", "image/jpeg", "application/pdf"],
"allowed_extensions": ["png", "jpg", "jpeg", "pdf"],
"public": false, "owner_delete_only": true,
"deduplicate": true, "deduplicate_scope": "owner",
"signed_urls_enabled": false
}
}Proje prefix'i altında media, media/_batch, dosya ID'sine göre indirme/silme, metadata ve signed-url yolları üretilir. Multipart alan isimleri ve yöntemler için uygulama OpenAPI'sini kullanın. Normal ForgeClient.request(files=...) ile multipart mümkündür; SDK dosyalı isteği otomatik retry etmez.
Upload/read/delete/admin izinleri varsayılan olarak media.upload, media.read, media.delete, media.admin olur. owner_delete_only ve public durumu ayrıca rol oynar. Owner kotası transaction içinde tutulan ledger ile eşzamanlı yüklemelerde kontrol edilir.
max_upload_bytes tek dosya sınırıdır. Reverse proxy ve proje body limiti de toplam HTTP isteğini sınırlar. Batch yüklemede birkaç dosyanın toplamı request limitini aşabilir. MIME/uzantı allowlist bir malware taraması değildir; işiniz gerektiriyorsa ayrıca içerik doğrulama/tarama iş akışı kurun.
Owner scope, aynı içeriği farklı sahipler arasında istemeden ortak görünür kılmamak için varsayılandır. Hash doğrulaması dosyanın değişip değişmediğini gösterir; yayıncı kimliği veya güvenliği kanıtlamaz. Metadata yazılamazsa fiziksel orphan temizliği denenir; işletme sırasında yedek/tutarlılık incelemesi yine gerekir.
Batch yanıtında her öğenin sonucunu inceleyin. Kısmi başarıyı tüm batch'in tek transaction'ı gibi sunmayın. Post-upload hook'lar uzun süreli dayanıklı job kuyruğu değildir.
signed_urls_enabled, güçlü signing_secret ve sınırlı signed_url_ttl_seconds ile geçici erişim açılabilir. URL'yi elde eden kişi geçerli süre boyunca ilgili erişimi kullanabilir; log/mesajlarda paylaşırken bu yetkiyi de paylaşmış olursunuz. Varsayılan TTL 300 saniye, izin verilen üst sınır 86400'dür.
Bir hostun yerel diskindeki dosya başka hostta kendiliğinden bulunmaz. Medya dizini ve metadata DB'si tutarlı şekilde yedeklenmeli, restore provası yapılmalıdır. Ortak depolama tasarımı olmadan load balancer arkasında rastgele hosta indirme gönderilmesi 404 veya veri ayrışması yaratabilir.
Editör ekip attachments alanı ayrı yönetim özelliğidir; uygulama media API'siyle karıştırmayın.
Bu sayfa aşağıdaki sabit commitlerdeki davranışı açıklar. Yeni bir sürümde aynı davranışın sürdüğünü varsaymayın.
main/framework/media.pymain/framework/config.pymain/framework/routers/project.pyexampleApps/app/MediaLibrary/config/40-media.json