2013-05-01 93 views
0

嗨,我正在開發vb.net中的web應用程序。我面臨的問題,而使用這個代碼將文件保存在根目錄之外vb.net

Dim fileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName) 
Dim ext As String = System.IO.Path.GetExtension(fileName) 
FileUpload1.PostedFile.SaveAs(Server.MapPath("~/EmployeeSignature/../../") + "IMG12345" & ext) 

這裏上傳從客戶端我的文件到服務器端文件夾根目錄和目標文件夾結構

enter image description here

這裏是我的地盤內部結構(UploadingTest ) enter image description here

問題是,在這條線

FileUpload1.PostedFile.SaveAs(Server.MapPath("~/EmployeeSignature/../../") + "IMG12345" & ext) 

我收到錯誤消息

Cannot use a leading .. to exit above the top directory. 

我的要求是保存在根目錄上面的文件,嘗試了很多卻無法解決問題,請提出任何解決方案!謝謝

回答

3

在IIS中,添加在你裏面的虛擬目錄網站

  1. EmployeeSignature
  2. 圖片

現在你可以使用下面的代碼

訪問的文件夾
HttpContext.Current.Server.MapPath("EmployeeSignatures") 
HttpContext.Current.Server.MapPath("Images") 
+0

感謝它的確行得通。 – Ahmed 2013-05-05 11:20:36

3

當您使用MapPath進行轉換時,您無法在邏輯路徑中使用..跳到Web根目錄的文件夾之外。搬完了MapPath外呼:

Server.MapPath("~") + "\..\EmployeeSignature\IMG12345" + ext