繁体   English   中英

Server.MapPath给出了错误的路径,在IIS服务器上运行时出现异常“不支持给定路径的格式”?

[英]Server.MapPath gives wrong path, exception “The given path's format is not supported” when running on IIS server?

目前,我正在使用以下代码将文件保存到网站上的目录中。

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

当我在计算机上运行应用程序时,它返回路径:

“ E:\\ dotnet \\ Project \\ Implementation \\ Source Code \\ Project \\ Project.UI \\ temp \\ Sample.csv”

但是,在真实服务器上运行时,它将引发异常:

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

我希望拥有的预期路径是“ C:\\ inetpub \\ wwwroot \\ Project \\ temp”。

我做的事正确与否吗? 如果不是,那么有人可以向我解释正确的方法吗?

Server.MapPath将虚拟路径映射到服务器上的物理路径。 如果将反斜杠替换为正斜杠,则应该可以:

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

您还可以使用根相对路径:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM