C# Server.mappath混乱

C# Server.mappath混乱,c#,asp.net,C#,Asp.net,我对server.mappath有点困惑 哪一个是正确的?这两者之间的区别是什么 FileUpload1.saveAs(Server.MapPath("~/User/images/")+"ankush.jpg")); FileUpload1.saveAs(Server.MapPath("~/User/images")+"ankush.jpg")); 使用MapPath的正确方法是: FileUpload1.saveAs(Server.MapPath("~/User/images/ankush

我对server.mappath有点困惑 哪一个是正确的?这两者之间的区别是什么

FileUpload1.saveAs(Server.MapPath("~/User/images/")+"ankush.jpg"));

FileUpload1.saveAs(Server.MapPath("~/User/images")+"ankush.jpg"));

使用MapPath的正确方法是:

FileUpload1.saveAs(Server.MapPath("~/User/images/ankush.jpg"));
或者如果你坚持:

FileUpload1.saveAs(Path.Combine(Server.MapPath("~/User/images"),"ankush.jpg")));

MapPath不会在映射的路径后面附加反斜杠,因为它无法知道该路径是目录还是文件。它不会检查给定的路径是否确实存在。

使用MapPath的正确方法是:

FileUpload1.saveAs(Server.MapPath("~/User/images/ankush.jpg"));
或者如果你坚持:

FileUpload1.saveAs(Path.Combine(Server.MapPath("~/User/images"),"ankush.jpg")));

MapPath不会在映射的路径后面附加反斜杠,因为它无法知道路径是目录还是文件。它不会检查给定路径是否确实存在。我建议您使用这种方式

FileUpload1.saveAs(Server.MapPath("~/User/images/ankush.jpg"));
原因:因为如果您已经知道路径,那么为什么要单独分解文件名 如果文件名是通过参数传递的,那么您可以

FileUpload1.saveAs(Server.MapPath(String.Format("~/User/images/{0}", fileName)));

我建议你用这种方法

FileUpload1.saveAs(Server.MapPath("~/User/images/ankush.jpg"));
原因:因为如果您已经知道路径,那么为什么要单独分解文件名 如果文件名是通过参数传递的,那么您可以

FileUpload1.saveAs(Server.MapPath(String.Format("~/User/images/{0}", fileName)));