将文件保存在根目录vb.net之外

时间:2013-05-01 21:25:11

标签: asp.net vb.net-2010

您好我正在开发vb.net中的Web应用程序。使用此代码将文件从客户端上传到服务器端文件夹时,我遇到了问题

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.

我的要求是将文件保存在根目录之上,尝试很多但无法解决问题,请提出任何解决方案!感谢

2 个答案:

答案 0 :(得分:3)

当您使用..进行转换时,您无法在逻辑路径中使用MapPath走出Web根目录的文件夹。将那些移到MapPath来电之外:

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

答案 1 :(得分:3)

在IIS中,在您的网站内添加虚拟目录

  1. EmployeeSignature
  2. 图片
  3. 现在您可以使用以下代码访问文件夹

    HttpContext.Current.Server.MapPath("EmployeeSignatures")
    HttpContext.Current.Server.MapPath("Images")