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

使用 .NET 6 或 .NET 8 上传大文件

        如果您正在使用 .NET 6,并且它拒绝上传大文件,那么本文适合您。
        我分享了一些处理大文件时需要牢记的建议,以及如何根据我们的需求配置我们的服务,并提供无限制的服务。

本文与 https://blog.csdn.net/hefeng_aspnet/article/details/144497878 相同,但使用的是 .NET 8。

为了使服务支持大量文件上传,您必须修改program.cs:

builder.WebHost.UseKestrel(o => o.Limits.MaxRequestBodySize = null);

builder.Services.Configure<FormOptions>(x =>
{

x.ValueLengthLimit = int.MaxValue;

x.MultipartBodyLengthLimit = int.MaxValue;

x.MultipartBoundaryLengthLimit = int.MaxValue;

x.MultipartHeadersCountLimit = int.MaxValue;

x.MultipartHeadersLengthLimit = int.MaxValue;
});

  • Program.cs 文件如下所示:

using Microsoft.AspNetCore.Http.Features;

var builder = WebApplication.CreateBuilder(args);

//Set MaxRequestBodySize to null
builder.WebHost.UseKestrel(o => o.Limits.MaxRequestBodySize = null);

// Add services to the container.

builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();

builder.Services.AddSwaggerGen();

//Set Values by default
builder.Services.Configure<FormOptions>(x =>
{
x.ValueLengthLimit = int.MaxValue;

x.MultipartBodyLengthLimit = int.MaxValue;

x.MultipartBoundaryLengthLimit = int.MaxValue;

x.MultipartHeadersCountLimit = int.MaxValue;

x.MultipartHeadersLengthLimit = int.MaxValue;
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{

app.UseSwagger();

app.UseSwaggerUI();

}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

要运行该服务: 

dotnet run

https://本地主机:7161/swagger

上传文件的端点:

  • http://localhost:5014/upload — POST

通过这些改变,该服务已经支持大文件。

重要的 

考虑服务运行的资源非常重要。 

使用 .Net Core 3.1 或 .Net Core 5.0 上传大文件 UploadLargeFiles 示例代码:https://download.csdn.net/download/hefeng_aspnet/90138207

使用 .Net 6.0 或 .Net 8.0 上传大文件 UploadLargeFiles 示例代码: 

https://download.csdn.net/download/hefeng_aspnet/90138397

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。 


http://www.kler.cn/a/454965.html

相关文章:

  • UGUI简单动画制作
  • xwd-ant组件库笔记
  • [OpenGL]使用 Compute Shader 实现矩阵点乘
  • 只谈C++11新特性 - 删除函数
  • 基于JAVA+SpringBoot+Vue的影院订票系统
  • 【扩展卡尔曼滤波理论推导与实践】【理论】【1/3 前言】
  • 【远程桌面】被窥屏
  • selenium浏览器下载汇总
  • 详解从输入url到页面渲染
  • 抖音短视频矩阵系统:开启短视频创作与营销新篇
  • webrtc-internals调试工具
  • Overleaf中设置表格中的字体为Times New Roman
  • 如何通过 360 驱动大师检查自己电脑上的显卡信息
  • 【速成51单片机】1.已经学过stm32如何快速入门51单片机——软件下载与安装
  • Flutter适配HarmonyOS实践
  • AndroidStudio/IDEA类名前面为什么有数字(书签功能)
  • Kotlin 协程基础知识总结二 —— 启动与取消
  • OpenCV的FAST和goodFeaturesToTrack的區別
  • 工程设计优化问题:改进海鸥算法(Matlab)
  • Figma插件:提高设计工作效率
  • MySQL 构建 1000 万数据太慢?如何快速构建大量模拟数据?
  • 打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”
  • 理解有放回和无放回抽样 (Python)
  • 小波分析算法
  • 【Leetcode 热题 100】46. 全排列
  • C++ —— 模板类与友元