.net 7 上传文件踩坑

(Name = "file")

没加上这个传不进文件

csharp 复制代码
		/// <summary>
        /// 上传单个文件
        /// </summary>
        /// <param name="formFile"></param>
        /// <returns></returns>
        [HttpPost("UploadFiles")]
        [FunctionAttribute(MuType.Btn, "上传单个文件")]
        public async Task<JsonResult> UploadFiles([FromForm(Name = "file")] IFormFile formFile)
        {
            var suffix = Path.GetExtension(formFile.FileName);
            var fileNmae = formFile.FileName;

            var filePaths = GetFileName(FileType.ProfilePhotoFileUpload, suffix);

            if (!Directory.Exists(Path.GetDirectoryName(filePaths.Item1)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(filePaths.Item1));
            }

            try
            {
               	using FileStream fileStream = System.IO.File.Create(filePaths.Item1);
                await formFile.CopyToAsync(fileStream);
                return await Task.FromResult(new JsonResult(
                 new JsonResult(new ApiDataResult<string>()
                 {
                     Success = true,
                     Message = "文件上传成功",
                     Data = $"{filePaths.Item2}"  //返回的文件保存地址,用作保存数据库的
                 })
                 ));
            }
            catch (Exception ex)
            {
                return await Task.FromResult(new JsonResult(
                 new JsonResult(new ApiDataResult<string>()
                 {
                     Message = "文件上传失败了"
                 })
                 ));
            }
        }

        /// <summary>
        /// 统一文件命名  类型文件夹名/年月日/yyyyMMddHHmmss_guid.后缀
        /// </summary>
        /// <param name="fileType">存储文件夹的名字</param>
        /// <param name="suffix">文件后缀</param>
        /// <returns>第一个返回值(绝对路径),第二个返回值(相对路径)</returns>
        private static (string, string) GetFileName(FileType fileType, string suffix)
        {
            string saveFilePath = $"{fileType.ToString()}\\{DateTime.Now.ToString("yyyyMMdd")}\\{DateTime.Now.ToString("yyyyMMddHHmmss")}_{Guid.NewGuid().ToString().ToUpper()}{suffix}";
            string allFilePaht = $"{Directory.GetCurrentDirectory()}\\{saveFilePath}";
            return (allFilePaht, saveFilePath);
        }
相关推荐
周杰伦fans12 分钟前
AutoCAD .NET 二次开发:深入理解 ObjectId = 0 与 ObjectId.Null
数据库·oracle·.net
z落落16 分钟前
C# 虚方法(virtual)与抽象方法 +区别+new方法隐藏 & override方法重写
java·开发语言·c#
xiaoshuaishuai836 分钟前
C# Avalonia UI的ItemControl
开发语言·ui·c#
半亩码田1 小时前
【.NET新特性·第4篇】.NET Aspire 入门:云原生开发新姿势
云原生·.net
etp_1 小时前
C#异步编程
c#
Xin_ye100862 小时前
C# 零基础到精通教程 - WPF 深度专题:自定义布局与性能优化
开发语言·c#·wpf
焚 城2 小时前
Winform双语实现
c#·winform
步步为营DotNet2 小时前
洞悉.NET 11:ASP.NET Core 10 在构建实时协作 Web 应用的技术实践
前端·asp.net·.net
雪豹阿伟2 小时前
16.C# —— 委托,委托实例,多播委托,内置委托,泛型委托
c#·上位机
小满Autumn2 小时前
WPF 依赖属性速查手册
笔记·c#·wpf·上位机·mvvm