تخطَّ إلى المحتوى
FormFlow

قبول رفع الصور في نموذج مدفوع

سؤال الملف يقبل JPEG وPNG وWebP وGIF في خطة مدفوعة، ويُفحَص حتى عندما يكون الوضع الصارم متوقفًا. أعلِنه، واجعل عدد الملفات محدودًا بإعدادات النموذج، واشرح التخزين الخاص والروابط الموقّعة.

تُرجم هذا المقال آليًا. اقرأ النص الأصلي بالإنجليزية

A dark FormFlow plate showing a declared image field kept authoritative at ingestion even when Strict mode is off.

سؤال الملف هو الجزء الوحيد في النموذج الذي يقبل بايتات بدلًا من النص. وفي خطة مدفوعة يقبل صورًا نقطية: JPEG وPNG وWebP وGIF. يوضّح هذا الدرس كيف تُعلِن هذا الحقل وتحدّه، وماذا يحدث للملف بعد أن يضغط من يملأ النموذج زر الإرسال. ويبقى داخل حدود الصور طوال الوقت، لأن هذه الحدود هي ما توثّقه الميزة.

ما الذي يقبله سؤال الملف

قائمة الصيغ قائمة سماح، لا تلميح. وعندما لا تُسمّى أي صيغة، يقبل سؤال الملف الصور النقطية الأربع أعلاه. وSVG غائب عنها عن قصد: فـSVG سكربت يُعرَض كصورة، وإعادة تقديمه إلى صندوق وارد ستجعل النموذج مستضيفًا للسكربتات. والحقل ليس مكانًا لرمي الأرشيفات كذلك — لا ZIP ولا حزمة. والنموذج الذي لا يحتوي سؤال ملف يرفض كل رفع متعدد الأجزاء، فالحقل هو أيضًا المفتاح الذي يفتح الرفع.

  • JPEG — الصور الفوتوغرافية ومخرجات كاميرا الهاتف.

  • PNG — لقطات الشاشة والصور ذات الخلفية الشفافة.

  • WebP — الصورة نفسها ببايتات أقل.

  • GIF — الحركات القصيرة والرسوم البسيطة.

أعلِن الحقل ثم حدّده

أضف السؤال، واختر File نوعًا له، واترك الصيغ المقبولة على الصور الأربع. ثم حدّد عدد الملفات التي يقبلها السؤال. الإعداد يخص السؤال نفسه، فيمكن لنموذج واحد أن يطلب صورة شخصية واحدة، ثم يطلب في موضع لاحق عدة لقطات شاشة.

الإعداد

ما تختاره

لماذا يهم

النوع

File

يُعلِن الحقل، وهذا ما يجعله حاكمًا عند الاستقبال.

الصيغ المقبولة

JPEG وPNG وWebP وGIF

كل ما هو خارج القائمة يُرفض ولا يُحوَّل.

الحد الأقصى للملفات

يحدده النموذج

عدد الملفات محدود بإعدادات النموذج.

مطلوب

مفعّل أو متوقف

خيار مطلوب يحوّل الرفع الفارغ إلى رفض.

حاكم حتى عندما يكون الوضع الصارم متوقفًا

الوضع الصارم قرار يخص النموذج. اتركه متوقفًا فينصح المخطط، وفعّله فيحكم المخطط. وسؤال الملف لا ينتظر ذلك القرار. فسؤال الملف المُعلَن يُفحَص في كل إرسال — حجمًا ونوعًا ومحتوى — ويرفض ولا يقتطع. وهذا مقصود: الملف هو الإجابة الوحيدة التي تكلّف مساحة تخزين وقد تحمل شيفرة.

فالملف الخاطئ يُرفض حتى في نموذج متساهل. يُبلَّغ من يملأ النموذج، وتُحفَظ المحاولة كإرسال مرفوض يمكنك مراجعته. ويمكن أن يبقى كل حقل آخر في ذلك النموذج استشاريًا؛ أما الملف فلا.

إلى أين يذهب الملف، ومن يستطيع فتحه

الملف المرفوع جزء من حمولة الإرسال، لا أصل عام. يُخزَّن تخزينًا خاصًا ويُقرأ عبر رابط موقّع تنتهي صلاحيته. لا يوجد عنوان عام يمكن تخمينه، والرابط المنسوخ ليس بابًا دائمًا إلى صور أحدهم.

افحصه مرة واحدة بملف حقيقي

أرسل النموذج مرة بصورة JPEG التقطتها بالهاتف، ومرة بلقطة PNG، ومرة بشيء خارج القائمة. يجب أن يصل الأولان مع الإرسال، ويُرفض الثالث مع سبب. وهذه الجولة التي تستغرق خمس دقائق تكشف الأخطاء الشائعة: حقل لم يضع عليه أحد خيار مطلوب، أو عدد بقي واحدًا والصفحة تطلب ثلاث صور، أو تسمية تَعِد بصيغة لا يقبلها الحقل.

ثم افتح صورة مخزّنة من الإرسال. إذا عمل الرابط الموقّع وأنت مسجّل الدخول، ولم يكن الملف نفسه متاحًا على عنوان عام عادي، فالتخزين يعمل كما هو موثّق.

ما تقوله لمن يملأ النموذج

سمّ الحقل بالصيغة والعدد، لا بكلمة رفع وحدها: «حتى ثلاث صور (JPEG أو PNG أو WebP أو GIF)». فمن يملأ النموذج يقرأ التسمية قبل أن يختار ملفًا، والتلميح الصحيح أفضل من رفض لاحق.

وقل أيضًا ماذا يحدث للملف. فمن يسلّم صورة يحق له أن يعرف أنها تُخزَّن تخزينًا خاصًا وتُفتح عبر رابط، لا تُنشر على صفحة.

شكل الطلب لإرسال متعدد الأجزاء، بما فيه جزء الملف، موجود في مرجع API. ووصل الرفع مع الإصدار الأول — v1.0.0 في سجل التغييرات يذكره إلى جانب التصدير وملخّصات الإجابات.