.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);   //删除指定目录文件
                }
            }
        }
复制代码
posted @   刘靖凯  阅读(1551)  评论(0编辑  收藏  举报
编辑推荐:
· 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数据库查询与断言
点击右上角即可分享
微信分享提示