2010-11-19 103 views
2

目前,我正在使用下面的代碼將文件保存到我的網站上的一個目錄。在IIS服務器上運行時,Server.MapPath會給出錯誤的路徑,異常「給定路徑的格式不受支持」?

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

當我跑步時我的電腦上的應用程序,它返回的路徑:

「E:\ DOTNET \項目\執行\源代碼\項目\ Project.UI \ TEMP \樣品。 CSV」

但是,一個真正的服務器上運行時,它拋出異常:

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

,我想有預期的路徑爲 「C:\的Inetpub \ wwwroot的\項目\ TEMP」。

我是否正確處理事情?如果沒有,那麼有人可以向我解釋做到這一點的正確方法嗎?

回答

1

Server.MapPath將虛擬路徑映射到服務器上的物理路徑。如果替換爲您反斜槓向前斜槓你應該確定:

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

您還可以使用根相對路徑:

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

我想你的解決方案,它返回我之前收到了同樣的路徑在本地運行Web時。但在IIS上運行時,仍然會出現「給定路徑格式不受支持」的情況。請幫助:( – Leo 2010-11-19 04:10:04

+0

沒關係,我想出了問題:在該目錄中寫入拒絕訪問! – Leo 2010-11-19 04:43:45

相關問題