كيفية تحميل الملفات من ASP.NET إلى تطبيق ويب آخر

StackOverflow https://stackoverflow.com/questions/148322

  •  02-07-2019
  •  | 
  •  

سؤال

لدي سيناريو حيث أحتاج إلى تحميل ملف من أحد تطبيقات الويب واستخدامه في تطبيق آخر.الإعداد الخاص بي هو ما يلي.

  • خادم واحد يستضيف تطبيقي ويب في IIS - كلاهما ASP.NET
  • يتم استخدام أحد التطبيقات لإدارة التطبيق الآخر + مجموعة من الأشياء الأخرى
  • أحتاج إلى تحميل ملف من تطبيق الإدارة هذا، وحفظ المسار في قاعدة البيانات من خلال DAL ثم الوصول إلى الملف من تطبيق الويب الآخر، والذي سيوفر الملف للتنزيل
  • أحتفظ بالملفات على القرص، فقط المسار الموجود في قاعدة البيانات

إذن أين وكيف يمكنني تحميل الملف بحيث يمكن الوصول إليه من كلا تطبيقي الويب؟هل يجب أن أستخدم خدمة أم أن هناك طريقة أخرى؟
فيما يلي بعض الأسئلة ذات الصلة التي وجدتها، ولكن لا أعتقد أنها تغطي السيناريو الخاص بي:
كيفية التعامل مع تحميل الملفات إلى خادم صور مخصص؟
كيفية تحميل ملف إلى خدمة WCF؟

هل كانت مفيدة؟

المحلول

وبما أن كلا التطبيقين موجودان على نفس الخادم، فيجب أن يكون الأمر واضحًا:

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

نصائح أخرى

يمكنك إعداد دليل ظاهري جديد في كل تطبيق يشير إلى نفس المجلد على الخادم الخاص بك حيث يمكنك تحميل الملفات إليه.لنفترض أنك قمت بإنشاء مجلد جديد على جهاز C الخاص بك:محرك يسمى "التحميلات" أي.ج:\التحميلات.ثم في إعداد IIS، يوجد دليل ظاهري جديد يسمى "التحميلات" يشير إلى c:\uploads لكل تطبيق ويب.يجب أن يمنح هذا كلا الموقعين إمكانية الوصول إلى الملفات.

هل يمكنني أن أسأل لماذا لا تحتفظ بالملف في قاعدة البيانات؟وهذا من شأنه أن يجعل تمريرها أسهل بكثير.

بافتراض أن مسار الملف الذي وضعته في قاعدة البيانات يمكن الوصول إليه من تطبيق الويب غير الإداري (الذي يبدو كذلك)، يحتاج الملف فقط إلى الانتقال إلى مكان يتمتع كلا التطبيقين بحقوق الوصول إليه.سيحتاج تطبيق المسؤول فقط إلى حق الوصول للكتابة.

يمكنك تكوين حساب المستخدم الذي سيتم تشغيله على موقع ويب IIS ضمن خصائص موقع الويب > أمان الدليل في وحدة تحكم إدارة IIS.ثم تأكد فقط من تعيين أذونات الدليل المناسبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top