2013-05-01 66 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