.NetCore 接口接收图片文件并保存
本文实例环境及版本 .NetCore3.1
public IActionResult UploadFile([FromForm] IFormCollection formCollection) {
if (formCollection == null || formCollection.Count <= 0)
{
return Ok("未选择附件,请选择要上传的文件");
}
FormFileCollection fileCollection = (FormFileCollection)formCollection.Files; string[] pictureFormatArray = { "png", "jpg", "jpeg", "bmp", "gif", "ico", "PNG", "JPG", "JPEG", "BMP", "GIF", "ICO" }; var fileSize = fileCollection.Sum(f => f.Length); var fileCoun = fileCollection.Count; //判断上传文件总大小不得大于50M if (fileSize > 52428800) { return Ok("文件不得大于50M"); }foreach (IFormFile file in fileCollection) { StreamReader reader = new StreamReader(file.OpenReadStream()); String content = reader.ReadToEnd(); String name = file.FileName; //文件原名称 //文件类型 string suffix = name.Split('.')[1]; if (!pictureFormatArray.Contains(suffix)) { return Ok("只能上传图片格式文件"); } //要保持的文件夹路径 var folderUrl = "c:/FileData" + name; //文件保存后的新名称 var fileNameNew = DateTime.Now.ToString("yyyyMMddHHmmssffff"); //查看该物理路径是否存在,如果不存在则新建对应文件夹 if (!Directory.Exists(folderUrl)) { Directory.CreateDirectory(folderUrl); } //附件存储的全路径信息 string filePath = string.Format(folderUrl + "/" + fileNameNew + suffix); // 保存图片附件 using (FileStream fs = System.IO.File.Create(filePath)) { // 复制文件 file.CopyTo(fs); // 清空缓冲区数据 fs.Flush(); } } return Ok("上传保存成功"); }
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。
标签:
.NetCore
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!