2010-11-19 58 views
2

Şu anda web sitemdeki bir dizine dosya kaydetmek için aşağıdaki kodları kullanıyorum.Server.MapPath yanlış yol veriyor, IIS sunucusunda çalışırken "Verilen yolun biçimi desteklenmiyor" durumu mu?

"E: Kaynak Kodu \ Proje \ Project.UI \ temp \ Numune \ \ dotnet \ Proje \ Uygulama

//save the file to the server 
String savePath = Server.MapPath("..\\temp\\") + file; 
FileUpload.PostedFile.SaveAs(savePath); 

Bilgisayarımda uygulamayı çalıştırıyorum, bu yolu döndürür. "\ inetpub \ wwwroot \ Proje \ temp: C: csv"

System.NotSupportedException: The given path's format is not supported. 

Ben istiyorum beklenen yoldur gerçek sunucusunda zaman

Ancak, istisna atar".

İşleri doğru bir şekilde yapıyor muyum? Eğer değilse, birisi bana bunu yapmanın doğru yolunu açıklayabilir mi?

cevap

1

Sunucu.MapPath, sunucudaki fiziksel bir sanal yolunu eşler. Eğer ile ters eğik çizgi değiştirin Tamam olmalıdır ileriye eğik çizgi: Ben çözümlerinizi çalıştı

Server.MapPath("~/temp/"); 
+0

sanki daha önce alınan aynı yolu döndürür:

Server.MapPath("../temp/") 

Ayrıca kök göreli yol kullanabilirsiniz Web'i yerel olarak çalıştırırken. Ancak yine de istisna var. IIS üzerinde çalışırken "Verilen yolun biçimi desteklenmiyor". Pls help :( – Leo

+0

boşver, problemi çözdüm: Bu dizinde yazma erişimi reddedildi! – Leo