2012-07-08 88 views
2

有一个在我心中)有点混淆使用Server.Mappath 这是正确的,什么是速滑运动员的肌肉这两个混乱使用Server.Mappath

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

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

回答

3

使用的MapPath(正确的方法的区别是:

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

,或者如果你坚持:

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

在MapPath()不追加一个trailin摹反斜杠映射路径,因为它没有办法知道如果路径是一个目录或文件(它不检查给出的路径实际上存在)

1

我会建议你用这种方式

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

原因:因为如果你已经知道的路径,然后如果文件名是越来越受参数传递,为什么单独分解文件名 那么你可以做

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