本文实例环境及版本 .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("上传保存成功"); }
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。
标签:文件,Ok,string,NetCore,接口,folderUrl,var,fileCollection,接收 From: https://www.cnblogs.com/mzflog/p/16806143.html