c# - 在物理路径中使用 HttpPostedFileBase.SaveAs 保存上传的文件

标签 c# asp.net asp.net-mvc razor io

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

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

 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));

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

关于c# - 在物理路径中使用 HttpPostedFileBase.SaveAs 保存上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16832070/

相关文章:

c# - 是否可以在 SaveChanges 之后停止 Entity Framework "fixing up"关系?

c# - 错误 "string parameter too long"。在 microsoft.office.interop.word.find.execute

jquery - 如何将 jquery 自动完成组合框与 ajax 结合使用

asp.net - 在单独的配置文件中重写规则

c# - OnActionExecuting 未在引用的 MVC 项目中执行

c# - 如何在无人干预的情况下自动连续轮询FTP服务器

c# - 如何在 DNX Core 5.0 (ASP.NET 5) 中引用执行程序集?

c# - 可以将委托(delegate)分配给匿名方法或 lambda,但不能分配给方法

c# - 无法使用 C# 将数据导入 SQL Server 数据库

c# - System.IndexOutOfRangeException