19

我想通过方法将上传的文件保存到物理路径HttpPostedFileBase.SaveAs()

当我选择物理路径时,出现异常表明该路径必须是虚拟的。

 var fileName = Path.GetFileName(fileurl.FileName);
 var path = "C:/Projets" + fileName;
 fileurl.SaveAs(Server.MapPath(path));

如何更改我的代码以便能够将文件保存在我想要的任何地方?

4

2 回答 2

27

Server.MapPath作品仅适用于作为网站一部分的物理位置。如果要将文件保存在外部,可以使用以下命令:

var fileName = Path.GetFileName(fileurl.FileName);
fileurl.SaveAs(Path.Combine(@"c:\projects", fileName));

确保执行应用程序池的帐户被授予对该文件夹的写入权限。

于 2013-05-30T09:15:05.483 回答
1

Server.MapPath 用于虚拟路径。您可以尝试使用 Path.GetFullPath(path)。

于 2013-05-30T09:15:12.580 回答