.net 上传文件
Controller层接收文件 参数 [FromServices] IHostingEnvironment env
public IActionResult UploadFile([FromServices] IHostingEnvironment env)
{
var result = new APIResult<int>();
try
{
var file = HttpContext.Request.Form.Files[0];
_documentService.UploadFiles(env, file);
}
catch (Exception)
{
result.ReturnCode = ReturnCode.SysException;
result.Message = "系统错误";
}
return Json(result);
}
用一个变量File接收文件信息
var file = HttpContext.Request.Form.Files[0];
public void UploadFiles(IHostingEnvironment env, IFormFile file)
{
var filePath = env.WebRootPath; //获取路径
var fileName = file.FileName; //获取文件名称
var ext = Path.GetExtension(file.FileName); //获取上传文件后缀名
var url = filePath + @"\UploadDocuments\";
if (!Directory.Exists(url)) //(字符串存在路径)确定给定路径是否引用磁盘上的现有目录。
{
Directory.CreateDirectory(url); //创建指定路径中的所有目录和子目录,除非它们已经存在。
}
var path = filePath + @"\UploadDocuments\" + DateTime.UtcNow.ToString("yyyyMMddhhmmssfff") + ext;using (var fStream = new FileStream(path, FileMode.CreateNew, FileAccess.ReadWrite)) //添加文件成功
{
//File.Delete(PathName); //删除指定目录文件
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言