البرمجة

عرض ملف PDF في Angular2

بمجرد أن تكون قادرًا على استرجاع الملف من قاعدة البيانات وتحديد مساره بنجاح من خلال خدمة ASP.Net Web API، يمكنك البدء في تطبيق Angular2 لعرض هذا الملف PDF في المتصفح. سأوضح لك الخطوات التي يمكن اتخاذها لتحقيق ذلك.

أولاً، في الجانب الخادم (ASP.Net Web API):

  1. تأكد من أن الطريقة GetSOP تعيد المسار الصحيح للملف PDF في الخادم.

  2. ضمن هذه الطريقة، افتح الملف PDF باستخدام FileStream كما تفعل الآن.

  3. ثم، قم بإنشاء HttpResponseMessage وضبط محتواه على البيانات المقروءة من الملف.

  4. ضبط رأس الاستجابة ليعكس نوع المحتوى ليكون من نوع “application/pdf” بدلاً من “application/octet-stream”.

ثانياً، في جانب العميل (Angular2):

  1. استخدم خدمة Angular2 لاستدعاء الطريقة المناسبة من خدمة ASP.Net Web API لاسترداد الملف.

  2. بمجرد الحصول على البيانات من الاستجابة، يجب عليك تحويلها إلى Blob (كائن بيانات ثنائية كبير) باستخدام new Blob([data], { type: 'application/pdf' }).

  3. ثم، قم بإنشاء عنوان URL مؤقت لهذا الـ Blob باستخدام URL.createObjectURL(blob).

  4. أخيرًا، استخدم هذا العنوان URL المؤقت لفتح ملف PDF في علامة تبويب جديدة من خلال فتحه في نافذة مستعرض المستخدم باستخدام window.open(url).

يجب أن تعمل هذه الخطوات بشكل صحيح لعرض الملف PDF في متصفح المستخدم من خلال Angular2. وفي حال وجود أي مشكلة، يمكنك مراجعة تفاصيل الخطأ في الطلبات أو الاستجابات لمعرفة السبب الذي يمنع عرض الملف بشكل صحيح.

المزيد من المعلومات

بالطبع، سنقوم الآن بتوسيع المقال لشرح كل خطوة بشكل أكثر تفصيلاً.

في البداية، دعنا نتناول الجانب الخادم (ASP.Net Web API):

  1. التأكد من أن الطريقة GetSOP تعيد المسار الصحيح للملف PDF في الخادم:
    قبل البدء في استرجاع الملف، يجب التحقق من أن الطريقة GetSOP في خدمتك تقوم بإرجاع مسار صحيح للملف PDF المطلوب. يمكنك فحص هذا الأمر عن طريق تسجيل قيمة sopPath قبل إعادتها من الدالة والتأكد من أنها تشير إلى المسار الصحيح للملف المطلوب.

  2. استخدام FileStream لفتح الملف:
    بمجرد الحصول على المسار الصحيح، يجب عليك استخدام FileStream لفتح الملف بناءً على المسار الذي تم استرجاعه. هذا يضمن أن البيانات المرسلة ستكون من الملف الصحيح.

  3. إعداد الاستجابة:
    بعد فتح الملف باستخدام FileStream، قم بإنشاء HttpResponseMessage وضبط محتواه على البيانات المقروءة من الملف. يجب أن تكون هذه البيانات جاهزة للإرسال إلى العميل.

  4. ضبط رأس الاستجابة:
    من المهم أيضًا ضبط رأس الاستجابة ليعكس نوع المحتوى الذي سيتم إرساله. في حالة الملفات PDF، يجب ضبط رأس الاستجابة ليكون من نوع “application/pdf” لضمان أن المتصفح يعرف كيفية التعامل مع الملف.

الآن، لننتقل إلى الجانب العميل (Angular2):

  1. استدعاء الطريقة المناسبة من خدمة ASP.Net Web API:
    في Angular2، يمكنك استخدام خدمة لإجراء طلب إلى خدمة ASP.Net Web API الخاصة بك لاسترداد الملف. تأكد من استخدام الطريقة الصحيحة وتمرير أي بيانات إضافية إذا لزم الأمر مثل partnum و description.

  2. تحويل البيانات إلى Blob:
    عندما تستلم البيانات من الاستجابة، ستكون عادةً في شكل نصي. يجب عليك تحويل هذه البيانات إلى كائن Blob باستخدام new Blob([data], { type: 'application/pdf' }). هذا يضمن أن البيانات متوافقة مع عرض ملف PDF.

  3. إنشاء عنوان URL مؤقت للـ Blob:
    بمجرد تحويل البيانات إلى Blob، يجب عليك إنشاء عنوان URL مؤقت لهذا الـ Blob باستخدام URL.createObjectURL(blob).

  4. عرض الملف في علامة تبويب جديدة:
    أخيرًا، يمكنك استخدام هذا العنوان URL المؤقت لفتح ملف PDF في علامة تبويب جديدة باستخدام window.open(url).

مع اتباع هذه الخطوات، يجب أن تكون قادرًا على عرض ملف PDF بنجاح في المتصفح الخاص بك. ولكن لا تتردد في مراجعة التوثيق الخاص بـ Angular2 و ASP.Net Web API للحصول على مزيد من المساعدة في حالة وجود مشاكل أو استفسارات إضافية.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!