当前位置: 首页 > news >正文

.Net 6 上传文件接口 文件大小报错整体配置

        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        [HttpPost("UploadifyFile")]
        [RequestSizeLimit(2000 * 1024 * 1024)] // 设置最大请求体大小为 100MB
        public async Task<IActionResult> UploadifyFile(IFormFile file)
        {
            try
            {
                // 文件上传逻辑
                var filePath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\attachments", file.FileName);
                // 获取当前工作目录
                string extractPath = Directory.GetCurrentDirectory() + @"\wwwroot\attachments";
                if (!System.IO.File.Exists(filePath))
                {
                    await SaveFileAsync(file, filePath);
                    //if (IsCompressedFile(filePath))
                    //{
                    // 解压文件到当前目录
                    ExtractArchive(filePath, extractPath);
                    System.IO.File.Delete(filePath);
                    //}
                }
                return Ok(filePath);
            }
            catch (Exception ex)
            {

                // 日志记录异常信息
                _logger.LogError(ex, "An error occurred during file upload.");
                return Ok(ex.Message);
            }


        }

var builder = WebApplication.CreateBuilder(args);
//修改FormOptions(用于将读取请求正文配置为 HTTP 窗体的选项)配置
builder.Services.Configure<FormOptions>(options =>
{
    options.MultipartBodyLengthLimit = int.MaxValue; //每个多部分主体的长度限制,默认值约为128MB 当前为2G
    options.ValueCountLimit = int.MaxValue; //要允许的表单条目数限制,默认为 1024个 当前为2147483647个
    options.ValueLengthLimit = int.MaxValue; //单个窗体值的长度限制 大约为 4MB 当前为2G
});

//为 ASP.NET Core Kestrel Web 服务器配置选项
builder.Services.Configure<KestrelServerOptions>(options =>
{
    options.Limits.MaxRequestBodySize = int.MaxValue; // 默认大约为 28.6MB 当前为2G
});

//为 IIS 进程内提供配置
builder.Services.Configure<IISServerOptions>(options =>
{
    options.MaxRequestBodySize = int.MaxValue; // 默认大约为 28.6MB 当前为2G
});

相关文章:

  • ARMv8寄存器的介绍
  • 【十三】Golang 通道
  • 机器始终是一个机器:技术本质与哲学边界
  • l c a
  • 数据安全基石:备份文件的重要性与自动化实践
  • Elasticsearch:使用 BigQuery 提取数据
  • C语言-文件操作 文件的随机读写
  • Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->type
  • P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS
  • Nginx(基础安装+配置文件)
  • [PWNME 2025] PWN 复现
  • GPU编程实战指南02:CUDA开发快速上手示例
  • C++20 格式化库:强大的字符串格式化工具
  • 【网络】TCP常考知识点详解
  • IDEA Commit 模态提交界面关闭VS开启对比
  • 2025最新比较使用的ai工具都有哪些,分别主要用于哪些方面?
  • 静态时序分析STA——2. 数字单元库-(2)
  • 海思Hi3516DV00移植yolov5-7.0的模型转化流程说明
  • 蓝桥杯备赛:一道数学题(练思维(同余的应用))
  • 大白话react第十四章高阶 React 组件开发和React 状态管理进阶等
  • 百度怎么免费做网站/媒体发稿公司
  • 南通网站排名公司/今日要闻新闻
  • 国产在线做a视频网站/宁波网站推广公司价格
  • 兴隆大院网站哪个公司做的/图们网络推广
  • 承德做网站boyun/正规的代运营公司
  • 网站页面设计报价/宣传推广方案怎么写