这个文件路径有什么问题?

时间:2010-01-07 18:29:44

标签: c# asp.net webforms file-upload server.mappath

Hai guys,

我有两个名为CSVLoad和Forms的文件夹...我在Forms文件夹中有一个aspx页面,它有一个fileupload控件。我将上传的文件保存到CSVLoad文件夹中,我给出了以下路径

FileUpload1.SaveAs(Server.MapPath("CSVLoad//" + FileUpload1.FileName));

我收到文件未找到例外...

Could not find a part of the path 
'F:\WebSites\Payroll\Forms\CSVLoad\Employeesdata.csv'

CSVLoad文件夹在Forms文件夹外(即)都是我的应用程序的根级文件夹

答案:

FileUpload1.SaveAs(Server.MapPath("~/CSVLoad//" + FileUpload1.FileName));

来自之前的SO问题之一ASP.NET Server.Mappath problem from inner folders

1 个答案:

答案 0 :(得分:2)

如果路径没有以斜杠开头,那么它将返回相对于页面所在的当前目录的路径,在这种情况下,表单I假设。如果您希望它映射相对于应用程序根目录的路径,那么您应该在路径上添加斜杠前缀并使用:

Server.MapPath("~/CSVLoad/" + FileUpload1.FileName);