.Net Core WebApi 控制器自动创建文件夹上传图片

复制代码
 /// <summary>
        /// 异步图片或文件上传
        /// </summary>
        /// <param name="formFile"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<JsonResult> UploadPic(IFormFile formFile)
        {
            //定义文件夹路径
            var FolderPath = $"/UploadFile/{DateTime.Now.ToString("yyyyMMdd")}";

            //上传文件重命名 获取上传文件的扩展名
            var FilePath = $"/{DateTime.Now.ToString("yyyyMMddHHmmssfff")}{Path.GetExtension(formFile.FileName)}";

            //如果 path 指向现有目录,则为 true;如果该目录不存在或者在尝试确定指定目录是否存在时出错,则为 false。
            if (!Directory.Exists($"{env.WebRootPath}{FolderPath}"))
                //创建新的指定目录
                Directory.CreateDirectory($"{env.WebRootPath}{FolderPath}");

            //using释放非托管资源 {env.WebRootPath}{FolderPath}{FilePath} 文件路径+文件名称
            //FileMode 指定操作系统打开文件的方式
            //OpenOrCreate指定操作系统应打开文件(如果文件存在);否则,应创建新文件
            using (FileStream fs = new FileStream($"{env.WebRootPath}{FolderPath}{FilePath}", FileMode.OpenOrCreate))
            {
                //异步获取文件内容
                await formFile.CopyToAsync(fs);
            }

            //返回图片的文件夹路径+名称
            return new JsonResult(new
            {
               FilePath = $"{FolderPath}{FilePath}"
            });
        }
复制代码

posted on   输者  阅读(178)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示