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

使用 .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.lryc.cn/news/511004.html

相关文章:

  • 基于特征工程(pca分析)、小波去噪以及数据增强,同时采用基于注意力机制的BiLSTM、随机森林、ARIMA模型进行序列数据预测
  • 攻防世界 PHP2
  • 主板idyy
  • 轻松实现向量搜索:探索 Elastic-Embedding-Searcher 项目
  • flask后端开发(3):html模板渲染
  • 逻辑控制语句
  • [OpenGL]使用 Compute Shader 实现矩阵点乘
  • jangow-01-1.0.1靶机
  • MySQL 查询大偏移量(LIMIT)问题分析
  • Docker、containerd、安全沙箱、社区Kata Containers运行对比
  • 使用npm包的工程如何引入mapboxgl-enhance/maplibre-gl-enhance扩展包
  • 【NIFI】实现ORACLE->ORACLE数据同步
  • 单例模式的写法
  • Selenium实践总结
  • Python数据可视化小项目
  • Python毕业设计选题:基于python的白酒数据推荐系统_django+hive
  • SQL-leetcode-180. 连续出现的数字
  • Unity中如何修改Sprite的渲染网格
  • 跟着 8.6k Star 的开源数据库,搞 RAG!
  • 每日一题 345. 反转字符串中的元音字母
  • Stream API 的设计融合了多个经典设计模式
  • jmeter混合场景测试,设置多业务并发比例(吞吐量控制器)
  • 直流有刷电机多环控制(PID闭环死区和积分分离)
  • vue-axios+springboot实现文件流下载
  • selenium执行js
  • 每日算法Day11【左叶子之和、找树左下角的值、路径总和】
  • 分享一下使用 AI 开发个人工具的迭代过程
  • 大型语言模型(LLMs)演化树 Large Language Models
  • 部分背包问题
  • 教师管理系统