Yükleme formlarının çoğu her başarısızlığı aynı cümleyle bildirir. O tek mesajın arkasında en az dört ayrı denetim saklanır ve her birinin çözümü başkadır.
Birinci denetim: bayt sınırı
En yaygın sınır ve genellikle akla gelen tek sınır. Megapikselle değil baytla ölçülür; bu yüzden güncel bir telefondan çıkan, küçük görünen bir görsel bile rahatlıkla takılabilir.
Çözümü, belirtilen sınırın tam üstüne değil altına sıkıştırmaktır. Bazı sistemler dosyayı değil kodlanmış isteği ölçer ve yolda base64 ile kodlanan bir yükleme, diskteki dosyadan yaklaşık üçte bir oranında büyüktür. Sınırın yüzde birkaç altını hedeflemek sana neredeyse hiçbir şeye mal olmaz ve meseleyi tümden ortadan kaldırır.
İkinci denetim: ölçü sınırı
Dosya boyutundan ayrıdır ve sıklıkla hiçbir yerde yazmaz. Bir form, dosya ne kadar küçük olursa olsun 1200 pikselden geniş olmayan bir fotoğraf isteyebilir. Daha sert sıkıştırmak bunu asla karşılamaz — boyutlandırman gerekir. Form bir görüntüleme ölçüsü belirtiyorsa, genellikle ona yakın bir üst sınırı da uygular.
Üçüncü denetim: MIME türü
Dikkatli sunucular dosya uzantısına güvenmez; ilk birkaç baytı okur ve biçimi kendi imzasından
tanır. Bir PNG’yi .jpg olarak yeniden adlandırsan da katı bir sunucu yine PNG görür, çünkü
baytların söylediği budur.
Dönüştürmenin işe yaraması, yeniden adlandırmanın yaramaması bundandır. Bir tasarım aracından “JPEG” olarak dışa aktarılan bir dosyanın takılabilmesinin nedeni de aynıdır: bazı dışa aktarıcılar, sunucunun kütüphanesinin kabul etmediği bir varyant yazar.
Dördüncü denetim: renk uzayı ve kodlama varyantı
Daha seyrek, ama gerçek. CMYK JPEG’ler, 16 bitlik PNG’ler ve aşamalı JPEG’ler geçerli dosyalardır; yine de bazı eski sunucu kütüphaneleri bunları doğrudan reddeder.
Yeniden kodlama, ulaşabildiklerini düzeltir. ToolZool düz 8 bitlik piksellere çözer ve varsayılan olarak temel JPEG yazar; yani 16 bitlik bir PNG 8 bit olarak, aşamalı bir JPEG de temel olarak geri gelir — titiz bir sunucunun kabul etme ihtimali en yüksek varyantlar bunlardır. Zor durum CMYK JPEG’dir: web değil baskı iş akışına ait bir dosyadır ve güvenilir çözüm, onu üreten programdan RGB olarak yeniden dışa aktarmaktır.
Hangisi olduğunu nasıl anlarsın
Bilerek küçük bir deneme görseli dene: birkaç kilobayt, birkaç yüz piksel, düz temel JPEG. O yükleniyorsa sorun senin dosyandadır ve artık hangi ekseni değiştireceğini biliyorsun — sıkıştırıcıyla başla; sınır darsa 50 KB sınırını tutturmak yazısı neyi hangi sırayla değiştireceğini anlatıyor. Deneme görseli de takılıyorsa sorun formda, oturumda ya da tarayıcıdadır; hiçbir yeniden kodlama bunu çözmez.

