asp.net core实现文件上传功能

您所在的位置:网站首页 文件上传的步骤 asp.net core实现文件上传功能

asp.net core实现文件上传功能

2022-12-28 01:05| 来源: 网络整理| 查看: 265

 上传文件在Web应用程序中是一个常见的功能。在asp.net core中上传文件并保存在服务器上,是很容易的。下面就来演示一下怎么样在 ASP.NET Core项目中进行文件上传。

整个文件将读入一个 IFormFile。IFormFile 是用于处理或保存文件的 C# 表示形式。

文件上传使用的磁盘和内存取决于并发文件上传的数量和大小。如果应用尝试缓冲过多上传,站点就会在内存或磁盘空间不足时崩溃。如果文件上传的大小或频率会消耗应用资源,请使用流式传输。

会将大于 64 KB 的所有单个缓冲文件从内存移到磁盘的临时文件。

用于较大请求的 ASPNETCORE_TEMP 临时文件将写入环境变量中命名的位置。如果未 ASPNETCORE_TEMP 定义,文件将写入当前用户的临时文件夹。

定义接口,使用FromForm接收数据

/// /// 添加反馈 /// /// 文件 /// 用户id /// 反馈内容 /// [TypeFilter(typeof(AuthorizationFilterAttribute))] [ApiResponseFilter] [ApiExceptionFilter] [HttpPost] [Route("SaveUserfeedback")] public bool SaveUserfeedback([FromForm] IFormFileCollection formData, [FromForm] uint UserID, [FromForm] string content) { SaveUserfeedback module = new SaveUserfeedback { UserID = UserID, content = content }; return _ICorrectiontypesBll.SaveUserfeedback(formData, module); }

对上传的数据进行保存

private string UploadFile(IFormFile formFile) { var currentDate = DateTime.Now; string webRootPath = AppContext.BaseDirectory; var filePath = $"/Template/UserfeedbackUploadFile/{currentDate:yyyyMMdd}/"; if (!Directory.Exists(webRootPath + filePath)) { Directory.CreateDirectory(webRootPath + filePath); } var saveName = Guid.NewGuid().ToString(); saveName = saveName + ".jpg"; string filepath = webRootPath + filePath + saveName; using (var fs = System.IO.File.Create(filepath)) { formFile.CopyTo(fs); fs.Flush(); } return filePath + saveName; }

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3