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

الشيء الوحيد الذي يتغيّر: أين يذهب الملف
هنا، تقوم بتحميل مستند إلينا، يتم عرضه، ويُحذف عندما تغلقه. هذا هو التبادل المناسب لملف تم إرساله لك مرة واحدة وتريد قراءته الآن.
إنه التبادل غير المناسب لمستند ليس لك لنقله. سجل طبي، عقد موقّع، رسم تحت اتفاقية عدم الإفشاء — لا يمكن لهذه الأشياء مغادرة بنيتك التحتية، ولا يضمن أي وعد بالحذف ذلك، لأن الملف لا يزال قد انتقل. تضمين العارض يغيّر ذلك: يتم فتح المستند بواسطة خادمك، داخل شبكتك، وما يصل إلى المتصفح هو عرض. الملف لا يتحرك أبدًا.
هذا هو السبب في التضمين. كل ما تبقى تفاصيل.
إنه مكوّن، ليس أداة
الجزء الذي يخطئ الناس فيه أولاً: هذا ليس جافاسكريبت يفتح الملف في المتصفح. إنه مكوّن .NET أصلي تقوم بالإشارة إليه من مشروعك، ويتم العرض على جانب الخادم. صفحتك تستقبل النتيجة.
يتبع ذلك نتيجتان. النتيجة الجيدة: المتصفح لا يثبت شيئًا — لا مكوّن إضافي، لا ActiveX، لا قارئ — لذا يعمل بنفس الطريقة على سطح مكتب مقفل كما على الهاتف. النتيجة التي يجب التخطيط لها: خادمك يقوم بالعمل، لذا ملف PDF مكوّن من 200 صفحة ورسم بحجم 40 ميغابايت ليسا نفس الطلب. احرص على أن تكون الآلة مهيأة لأكبر ملف ستقبله، ورفض أي شيء أكبر عند التحميل.
ما عليك أن تقرره قبل البدء
ثلاثة أسئلة، ولا أحد منها يتعلق بالعارض:
- من أين تأتي المستندات — قاعدة بيانات، مشاركة ملفات، تخزين كتل؟
- من يُسمح له برؤية هذا المستند، وهل يفرض عنوان URL للعارض ذلك أم يفترض ذلك فقط؟ نقطة النهاية للعرض التي تجيب على أي شخص يملك معرف المستند هي الثغرة الكلاسيكية.
- ماذا يحدث للملفات المؤقتة التي ينتجها العارض، ومتى؟
أجب على هذه الأسئلة وستكون عملية التكامل قصيرة. إذا تركتها لوقت لاحق، فستحتاج إلى إضافة التفويض إلى عارض يعمل بالفعل، وهذا أسوأ.
أين يعمل
.NET Framework 4.0 وما فوق، و.NET Standard 2.0 وما فوق — لذا WebForms، MVC، ASP.NET Core، Blazor Server وحاويات Linux. لا تحتاج Office إلى التثبيت على الخادم؛ يقرأ العارض الصيغ مباشرة.
إذا كنت تريد فقط قراءة ملف واحد اليوم، فهذا هو ما يقدمه عارض PDF وبقية العارضات هنا. إذا كان التطبيق هو ما تفكر فيه، فإن المكوّن وحزمّه وتوثيق API الخاص به موجودان على Doconut.com.