موصى به: كيفية استخدام برامج ASP لتحديد ما إذا كانت هناك ملفات على القرص فيما يلي المحتوى المقتبس: <٪ dim Objfolderdim objfsodim j set fso = server.createBject
واجهت مثل هذه المشكلة عند استخدام ASP لإنشاء صفحات ويب لوحدة معينة. في نظام MIS السابق للوحدة ، تم حفظ بعض ملفات الكلمات في قاعدة البيانات في شكل تدفقات البايت. الآن طلب مني المستخدم استخدام ASP لإخراج بيانات ملف Word هذه من قاعدة البيانات وعرضها في صفحة الويب. في البداية ، فكرت بشكل طبيعي في إنشاء ملف مؤقت على الخادم ثم إضافة رابط إلى الملف المؤقت إلى صفحة الويب. ومع ذلك ، ستزيد هذه الطريقة بشكل كبير من العبء على الخادم ، وكيفية التأكد من عدم كتابة الملفات المؤقتة التي يستخدمها عميل معين من خلال الملفات التي يستخدمها العملاء الآخرون على الخدمة ، وكيفية حذف الملفات بعد نقل الملف إلى المستخدم. هذه المشاكل يصعب في الواقع حلها. فهل هناك طريقة أفضل؟
--- لهذا السبب ، نظرت بعناية في كتاب مرجع ASP ووجدت أن كائن الاستجابة يحتوي على خاصية تسمى ContentType ، والتي تحدد نوع MIME للمحتوى المرسلة إلى العميل بواسطة الخادم. الاسم الكامل لـ MIME هو ملحقات بريد الإنترنت متعددة الأغراض ، وهو امتداد بريد إنترنت متعدد الوظائف. نحن نعلم أنه في برمجة الويب ، نشير أحيانًا إلى ارتباط تشعبي إلى ملف أو ملف Excel. عندما ينقر المستخدم على هذا الرابط ، سيقوم المتصفح تلقائيًا بالاتصال بالطريقة المقابلة لفتح الملف. السبب في ذلك هو أنه بعد تثبيت Office على جهاز المستخدم ، سيتم تسجيل نوع مورد MIME المقابل في المتصفح. على سبيل المثال ، يكون نوع MIME لملف الكلمات هو التطبيق/msword (الأول هو نوع mime والأخير هو فئة فرعية MIME) ، ونوع مورد MIME لملف excel هو التطبيق/msexcel. في الواقع ، فإن جميع الموارد التي يمكن معالجتها بواسطة متصفح لها أنواع موارد MIME المقابلة. على سبيل المثال ، يكون نوع MIME لملف HTML هو النص/HTML ، ونوع MIME لملف JPG هو Image/JPG. بالتفاعل مع الخادم ، يحدد المتصفح نوع المعالجة التي سيتم تنفيذها استنادًا إلى نوع MIME للبيانات المستلمة ، ويفتحها مباشرة لمتصفحات الملفات مثل HTML و JPG ، ويدعو الطريقة المقابلة لفتح الملفات التي لا يمكن فتحها بواسطة متصفحات مثل Word و Excel. بالنسبة للملفات غير المميزة بنوع MIME ، يخمن المتصفح نوعه استنادًا إلى محتوى ملحقه ومحتوى الملف. إذا لم يتمكن المتصفح من تخمينه ، فاستخدمه كتطبيق/ثمانية الثماني. لفهم أنواع MIME من الملفات المختلفة ، يرجى التحقق من ذلك في Win98 جهاز الكمبيوتر الخاص بي -> عرض -> خيارات المجلد -> نوع الملف.
---- لذلك كان لدي إلهام مفاجئ وفكرت أنه في ASP ، يمكنني أولاً إخراج بيانات الكلمات في دفق البايت ، ثم وضع علامة على سمة ContentType كتطبيق/msword ، ثم أرسلها إلى العميل. بعد أن يتلقى العميل هذا المورد ، سيتصل تلقائيًا بـ Word على العميل وفقًا لنوع MIME الخاص به (بالطبع ، الفرضية هي أن الكلمة مثبتة على العميل ، وإلا فإنه سيتم استخدامه كمورد غير معترف به ويطالب المستخدم بحفظه بدلاً من فتحه) لفتحه. نتائج الاختبار جيدة جدًا ، والطريقة بسيطة وسريعة ، وفي IE 5 ، يستخدم المتصفح طريقة مضمنة (على غرار طريقة OLE) ، والتي لها نتائج أفضل. ما يلي هو محتوى البرنامج.
-افترض أن اسم الجدول هو tab_word ، وهناك حقلان في الجدول. واحد هو نوع عدد صحيح ومعرف ، والذي يستخدم كمعرف فريد لبيانات الكلمات. والآخر هو نوع blob و worddata ، الذي يخزن بيانات الكلمات. الآن لعرض محتويات ملف word مع معرف يساوي 1 على الصفحة ، يكون برنامج ASP كما يلي:
| <٪ 'conn - connected connective database 'Rs - مجموعة النتائج rs = conn.execute (حدد WordData من TAB_WORD حيث معرف = 1) استجابة. contenttype = التطبيق/msword استجابة. WriteBinary (RS (WordData)) لاحظ أن البيانات الموجودة في مجموعة النتائج يتم إرسالها مباشرة باستخدام الكتابة ، ولا تستخدم المتغيرات تلقي هذه البيانات ، وإلا فإن النظام سيبلغ عن خطأ ٪> |
مشاركة: حل الصدع: كيفية حل مهلة البرنامج النصي ASP أنا أتعلم معرفة الخادم مؤخرًا. في بعض الأحيان ، أواجه خطأ يقوم فيه برنامج ASP الذي يديره المهلة ، وهو أمر مزعج حقًا. لقد وجدت المعلومات ذات الصلة ، وهناك بعض الحلول. مهلة البرنامج النصي الافتراضي لـ IIS هي 90 ثانية. إذا قمت بتحميل البرنامج أو نقل البيانات أكثر من 90 ثانية.