.net 7 上传文件踩坑

这篇具有很好参考价值的文章主要介绍了.net 7 上传文件踩坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(Name = “file”)
没加上这个传不进文件文章来源地址https://www.toymoban.com/news/detail-718487.html

		/// <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);
        }

到了这里,关于.net 7 上传文件踩坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • ASP.NET Core MVC 从入门到精通之文件上传

    ASP.NET Core MVC 从入门到精通之文件上传

    随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生,或其他想从事ASP.NET Core MVC 系统开发的人员。 经过前几篇文章的讲解,初步

    2024年02月03日
    浏览(12)
  • Go语言使用net/http实现简单登录验证和文件上传功能

    Go语言使用net/http实现简单登录验证和文件上传功能

         最近再看Go语言web编程,go语言搭建Web服务器,既可以用go原生的net/http包,也可以用gin/fasthttp/fiber等这些Web框架。本博客使用net/http模块编写了一个简单的登录验证和文件上传的功能,在此做个简单记录。 目录 1.文件目录结构 2.编译运行 3.用户登录  4.文件上传 5.mime/m

    2024年02月11日
    浏览(14)
  • 银河麒麟服务器v10 sp1 .Net6.0 上传文件错误

    银河麒麟服务器v10 sp1 .Net6.0 上传文件错误

    上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客 .NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。地址:GitHub - mono/libgdiplus: C-based implementation of the GDI+ API 因此,解决方法

    2024年02月12日
    浏览(13)
  • .net6Api后台+VUE3前端实现上传和下载文件全过程

    .net6Api后台+VUE3前端实现上传和下载文件全过程

    首先本文参考的是,感谢博主: net6WebApi上传下载文件_cduoa的博客-CSDN博客_webapi下载文件 在博主的基础上,增加了新的功能,代码中有注明,并且使用VUE3前端实现。 后端部分: 1.首先建立IFileService文件 2.建立FileService文件 3.增加FileController文件 4.Program文件中,进行配置和跨域

    2023年04月09日
    浏览(16)
  • 银河麒麟服务器v10 sp1 .Net6.0 上传文件错误 access to the path is denied

    银河麒麟服务器v10 sp1 .Net6.0 上传文件错误 access to the path is denied

    上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客 .NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。地址:GitHub - mono/libgdiplus: C-based implementation of the GDI+ API 因此,解决方法

    2024年02月12日
    浏览(10)
  • 前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue单个文件上传支持图片,压缩包以及文件 , 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下: 使用方法 HTML代码部分 JS代码 (引入组件 填充数据) CSS

    2024年02月09日
    浏览(14)
  • ASP.NET Core Razor官方文档踩坑

    ASP.NET Core Razor官方文档踩坑

    环境:ASP.NET Core 3.1 工具:VS2019 官方文档的起始页地址:教程:使用 ASP.NET Core 创建 Razor Pages Wb 应用 | Microsoft Learn 添加基架生成CRUD类时,提示报错 To scaffold controllers and views using models please install Entity Framework core packages and try again: Microsoft.EntityFrameworkCore.Design 解决方法: 安装

    2024年02月05日
    浏览(13)
  • .net 6 使用 NEST 查询,时间字段传值踩坑

    说明: 同事搭建的业务系统,最开始使用  log4net  记录到本地日志. 然后多个项目为了日志统一,全部记录在  Elasticsearch  ,使用  log4net.ElasticSearchAppender.DotNetCore. 然后搭建了 Kibanal   对  Elasticsearch   进行查询.  但是项目组开发人员众多,不是每个人都想要学会如何在  Kibana

    2024年02月01日
    浏览(15)
  • 踩坑(5)整合kafka 报错 java.net.UnknownHostException: 不知道这样的主机

    踩坑(5)整合kafka 报错 java.net.UnknownHostException: 不知道这样的主机

    解决方式: 将kafka的主机名和服务所在的ip地址配置到C:WindowsSystem32driversetc目录下的hosts文件中,并重启服务 例如: 查看kafka的主机名的方式

    2024年02月14日
    浏览(9)
  • 【Unity 踩坑系列】配置VScode环境Downloading the.NET Runtime Failed to download.NET 7.0.9installation timed out

    【Unity 踩坑系列】配置VScode环境Downloading the.NET Runtime Failed to download.NET 7.0.9installation timed out

    在最近使用Unity配置VScode开发环境时,总会出现以下的情况。(很多朋友其实本地已经自己安装好了.net环境 PS:可能各种版本.net 6.0 - .net 8.0都试过安装了 但就是会自动下载最新版本的.net ) 其中的根本原因 就是我们的VScode C#扩展插件没有检测到本地的.net 环境从而导致自动下载

    2024年02月13日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包