我对 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() 不会将尾部反斜杠附加到映射路径,因为它无法知道路径是目录还是文件(它不检查给定路径是否实际存在)
我建议你使用这种方式
FileUpload1.saveAs(Server.MapPath("~/User/images/ankush.jpg"));
原因:因为如果您已经知道路径,那么为什么要单独分解文件名如果文件名是通过参数传递的,那么您可以这样做
FileUpload1.saveAs(Server.MapPath(String.Format("~/User/images/{0}", fileName)));