.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("上传保存成功");
        }

 

才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。

 

posted @ 2022-11-08 13:45  独角马  阅读(801)  评论(0编辑  收藏  举报