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

.net6解除文件上传限制。Multipart body length limit 16384 exceeded

在C#中上传文件时如果不修改默认文件的上传大小会提示Multipart body length limit 16384 exceeded这个错误提示表明你的请求中的Multipart body长度超过了16384字节的限制。这通常意味着你正在尝试发送一个太大的请求体,可能是因为包含了太多数据或者太大的文件。要解决这个问题,你可以尝试减少请求体的大小,或者使用其他方法来传输大量数据,比如分块上传或压缩数据。另外,你也可以查看服务端的配置,看是否可以调整Multipart body长度的限制。

在.net6中可以 修改Program.cs文件,添加以下代码

ps:以下代码要添加到var app = builder.Build();之前

builder.WebHost.UseKestrel(options =>
{options.Limits.MaxRequestLineSize = 10 * 1024 * 1024;//HTTP 请求行的最大允许大小。 默认为 8kboptions.Limits.MaxRequestBufferSize = 10 * 1024 * 1024;//请求缓冲区的最大大小。 默认为 1M//任何请求正文的最大允许大小(以字节为单位),默认 30,000,000 字节,大约为 28.6MBoptions.Limits.MaxRequestBodySize = 10 * 1024 * 1024;//限制请求长度});//上传文件限制
builder.Services.Configure<FormOptions>(x => {x.MultipartBodyLengthLimit = 10 * 1024 * 1024; // 10MB  x.MemoryBufferThreshold = 1024 * 1024; // 1MB  
});

然后在api方法上标注[DisableRequestSizeLimit]特性

在C#中,[DisableRequestSizeLimit]特性是用于禁用请求大小限制的。当应用程序使用ASP.NET Core处理请求时,可能会受到请求大小限制的影响,这可能会导致一些大型请求被拒绝或截断。使用[DisableRequestSizeLimit]特性可以禁用请求大小限制,允许应用程序处理大型请求而不受限制。这在处理大型文件上传或其他需要处理大型请求的情况下非常有用。

[HttpPost]
[DisableRequestSizeLimit]
public async Task<dynamic> UploadFileAsync()
{string fileName = "";string fullPath = "";string fileType = "";string Rotate = "0"; string Angle = "";try{if (Request.Form.Files.Count == 0) return Ok(new { ok = false, message = $"Upload Failed:没有文件." });var file = Request.Form.Files[0];if (file.Length < 1) return Ok(new { ok = false, message = $"Upload Failed:文件为空." });//代码逻辑}catch (Exception ex)
{Log.Error("Upload Failed.===" + "类型:" + fileType + "   文件名:" + fileName + "  失败原因:" + ex.Message );return Ok(new { ok = false, message = $"Upload Failed:{ex.Message}" });
}
http://www.lryc.cn/news/276418.html

相关文章:

  • 电子电器架构网络演化 —— 车载以太网TSN
  • 智能门锁触控工作原理中应用的电容式触摸芯片
  • Spark 中 BroadCast 导致的内存溢出(SparkFatalException)
  • 深度学习经典算法详细模型图
  • 03、Kafka ------ CMAK(Kafka 图形界面管理工具) 下载、安装、启动
  • 复习python从入门到实践——函数function
  • 【Internal Server Error】pycharm解决关闭flask端口依然占用问题
  • torch.nn.functional.interpolate与torchvision.transforms.Resize方法对张量图像Resize应用
  • 【Spring】Spring的事务管理
  • 配置cendos 安装docker 配置阿里云国内加速
  • 【深度学习:Domain Adversarial Neural Networks (DANN) 】领域对抗神经网络简介
  • STM32 ESP8266 物联网智能温室大棚 (附源码 PCB 原理图 设计文档)
  • 【DevOps-08-1】Harbor镜像仓库介绍和安装
  • 第八节 vue3新特性
  • Web前端-jQuery
  • Leetcod面试经典150题刷题记录 —— 二叉搜索树篇
  • 【大数据进阶第三阶段之ClickHouse学习笔记】ClickHouse的简介和使用
  • Linux下Redis6下载、安装和配置教程-2024年1月5日
  • Java后端开发——Ajax、jQuery和JSON
  • ssm基于Vue的戏剧推广网站论文
  • 安卓adb
  • 【数位dp】【动态规划】C++算法:233.数字 1 的个数
  • docker (portainer 安装nginx)
  • 10个linux文件管理命令
  • 实战:使用docker容器化服务与文件挂载-2
  • 联合union
  • 如何在 Umi /Umi 4.0 中配置自动删除 console.log 语句?
  • (生物信息学)R语言绘图初-中-高级——3-10分文章必备——饼图(初级)
  • AI ppt生成器 Tome
  • Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解