You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Blazor WebAssembly托管方案中扩展WebSocket缓冲区

解决Blazor WebAssembly托管方案中RadzenFileInput大文件上传问题

针对你的.NET 6 Blazor WASM托管方案,RadzenFileInput上传5761KB图片提示文件过大的问题,你之前尝试的Hub配置不生效是因为Blazor WASM的文件上传走的是HTTP API请求,而非SignalR Hub(Hub是Server Side Blazor的交互机制)。需要从以下几个维度调整请求大小限制:

1. 全局配置表单请求大小限制

在Startup.cs的ConfigureServices方法中,添加表单选项配置,设置多部分表单的最大长度:

services.Configure<Microsoft.AspNetCore.Http.Features.FormOptions>(options =>
{
    // 设置为10MB,可根据需求调整
    options.MultipartBodyLengthLimit = 10 * 1024 * 1024;
});

2. 配置Kestrel服务器的请求体大小限制

在Program.cs的CreateHostBuilder方法中,添加Kestrel的请求大小限制配置:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseSerilog()
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            // 配置Kestrel最大请求体大小
            webBuilder.ConfigureKestrel(options =>
            {
                options.Limits.MaxRequestBodySize = 10 * 1024 * 1024; // 10MB
            });
        });

3. (可选)针对特定API控制器单独配置

如果你的文件上传是通过特定的API控制器处理,可以在控制器类或Action上添加特性,更精细地控制大小:

using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
// 针对整个控制器设置请求大小限制
[RequestSizeLimit(10 * 1024 * 1024)]
[RequestFormLimits(MultipartBodyLengthLimit = 10 * 1024 * 1024)]
public class UploadController : ControllerBase
{
    [HttpPost]
    public IActionResult Upload(IFormFile file)
    {
        // 处理上传逻辑
        return Ok();
    }
}

完成以上配置后,重启服务器即可支持更大文件的上传。

内容的提问来源于stack exchange,提问作者JoeyD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 04:05:12