لا يمكن حفظ الملف على خادم الويب: system.unauthorizedaccessException
سؤال
لا يمكنني حفظ ملف على خادم الويب الخاص بي مع fileupload.saveas () أو مع file.writealltext (). المجلد الذي أحفظه هو chmod 666.
الرمز الخاص بي هو:
file.writealltext (mappath (".") + " Ads Test.jpg"، "اختبار")؛
هذا الرمز يعمل تماما في dev. الخادم.
مع أطيب التحيات، Lasse Espeholt
system.unauthorizedaccessException: يتم رفض الوصول إلى المسار * ". في system.io. __ error.winioError (INT32 ErrorCode، String NotfullPath) في System.IO.Filestream.Init (مسار السلسلة، وضع FileMode، وصول FileAccess، حقوق Int32، Fileshare Share، INT32 المخزن المؤلف، خيارات الملفات، Security_Attributes Secattrs ، سلسلة msgpath، bfromproxy، bfromproxy) في system.io.filestream ..Ctor (مسار السلسلة، وضع FileMode، وصول FileAccess، Fileshare Share، INT32 المخزن المؤقت، خيارات الملفات، سلسلة MsgPath، Broolean Bfromproxy) في System.IO.Filestream ..Tor (مسار السلسلة، وضع FileMode) في System.web.httpppostedfile.saveas (سلسلة Filename) في System.Web.ui.webcontrols.fileupload.saveas (String Filename) في * (كائن المرسل، ListViewSerteventargs E)
المحلول
ستحتاج إلى إعطاء قراءة أذونات الكتابة إلى حساب ASPNET الخاص بالآلة للمجلد المطلوب. يمكنك القيام بذلك عن طريق فتح خصائص المجلد -> علامة تبويب الأمان.
نصائح أخرى
تنص رسالة الخطأ الخاصة بك:
System.UnauthorizedAccessException: Access to the path *' is denied.
هذا يبدو غريبا بعض الشيء. هل قمت بتحرير المسار أم أنه بالضبط كيف يتم عرضه؟ إذا كان الأخير، فإن شيئا ما يحدث في مكالمتك MapPath
.
أعلم أن ما يلي قد يبدو واضحا، لكنني تعرضت للعض بالافتراضات عدة مرات في الماضي.
هل تحققت من أن المجلد الذي تعتقد أنك تكتب إليه هو MapPath(".") + "\\Ads\\test.jpg"
في الواقع يحل ل؟
هل لديك حقوق كاملة في المجلد الفرعي "الإعلانات" أيضا؟