使用物理路径中的HttpPostedFileBase.SaveAs保存上载的文件

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

当我选择物理路径时,会出现exception,表明路径必须是虚拟路径。

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

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

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

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

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

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