أكثر نماذج الرفع تُبلّغ عن كل إخفاق بالجملة نفسها. وتلك الرسالة الواحدة تخفي وراءها أربعة فحوص مختلفة على الأقل، ولكلٍّ منها إصلاح مختلف.
الفحص الأول: حدّ البايتات
هو الحدّ الأشيع، والوحيد الذي يفكّر فيه الناس عادةً. ويُقاس بالبايتات لا بالميغابكسل، فصورة تبدو صغيرة خارجة من هاتف حديث قد ترسب فيه بسهولة.
أصلحه بالضغط إلى رقم تحت الحدّ المعلن، لا عنده بالضبط. فبعض الأنظمة تقيس الطلب المرمَّز لا الملف، والرفع المرمَّز بـbase64 في طريقه أكبر بنحو الثلث من الملف على القرص. واستهداف بضع نقاط مئوية تحت الحدّ لا يكلّفك شيئًا تقريبًا ويزيل السؤال كله.
الفحص الثاني: حدّ الأبعاد
منفصل عن حجم الملف، وكثيرًا ما يكون غير موثَّق. فقد يشترط نموذج صورة لا يزيد عرضها على 1200 بكسل مهما كان الملف صغيرًا. والضغط الأشدّ لن يرضيه أبدًا — عليك تغيير المقاس. وإن ذكر النموذج مقاس العرض على الشاشة، فهو غالبًا يفرض حدًّا أقصى قريبًا منه.
الفحص الثالث: نوع MIME
الخوادم المتيقّظة لا تثق بامتداد الملف؛ بل تقرأ البايتات الأولى وتتعرّف على الصيغة من بصمتها. أعِد
تسمية ملف PNG إلى .jpg وسيظل الخادم الصارم يرى PNG، لأن هذا ما تقوله البايتات.
ولهذا يهمّ التحويل ولا تنفع إعادة التسمية. ولهذا أيضًا قد يفشل ملف صدّرته أداة تصميم على أنه «JPEG»: فبعض المصدِّرين يكتبون نسخة ترفضها مكتبة الخادم.
الفحص الرابع: فضاء اللون ونسخة الترميز
أندر، لكنه واقعي. فملفات JPEG بنظام CMYK، وملفات PNG بعمق 16 بت، وملفات JPEG التدريجية، كلها ملفات صحيحة ترفضها بعض مكتبات الخوادم القديمة رفضًا تامًا.
وإعادة الترميز تُصلح ما تستطيع بلوغه منها. فToolZool يفكّ الترميز إلى بكسلات عادية بعمق 8 بت ويكتب JPEG أساسيًا افتراضيًا، فيعود ملف PNG بعمق 16 بت بعمق 8 بت، ويعود JPEG التدريجي أساسيًا — وكلتا النسختين هي ما يرجَّح أن يقبله خادم متزمّت. أما ملف JPEG بنظام CMYK فهو الحالة المحرجة: فهو ملف سير عمل طباعي لا ملف ويب، والإصلاح الموثوق أن تُصدِّره من جديد بنظام RGB من البرنامج الذي أنتجه.
كيف تميّز بينها
جرّب صورة اختبار صغيرة عمدًا: بضعة كيلوبايتات، وبضع مئات من البكسلات، وJPEG أساسي بسيط. فإن رُفعت، فالمشكلة في ملفك وقد صرت تعرف أي محور تغيّره — ابدأ من الضاغط، وإن كان الحدّ ضيّقًا فإن كيف تصل إلى حد 50 KB يغطّي ترتيب تغيير الأشياء. وإن فشلت صورة الاختبار هي الأخرى، فالمشكلة في النموذج أو الجلسة أو المتصفح، ولن ينفع أي قدر من إعادة الترميز.

