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

Debian服务器nopCommerce(ASP.NET)上传文件超限,找不到web.config求助

解决nopCommerce自托管大文件上传超限问题

为什么找不到web.config?

nopCommerce基于ASP.NET Core开发,自托管部署模式下不存在传统ASP.NET Framework的web.config文件,相关配置需通过appsettings.json或启动代码(Program.cs)调整,这是ASP.NET Core与旧版框架的核心差异之一。

具体修复步骤

1. 调整应用级文件大小配置

在nopCommerce根目录找到appsettings.json,添加或修改AppSettings节点下的文件大小限制:

"AppSettings": {
  "MaxFileSize": 52428800, // 示例为50MB,单位是字节,可按需换算调整
  "AllowedFileExtensions": ".jpg,.jpeg,.png,.gif,.bmp,.pdf,.doc,.docx,.xls,.xlsx,.txt,.zip,.rar"
}

若文件中已有AppSettings节点,直接补充或覆盖MaxFileSize值即可。

2. 配置ASP.NET Core请求大小限制

若仅修改应用配置仍无效,需在Program.cs中添加请求体大小限制:
找到builder.Services.AddControllersWithViews()代码块,插入以下配置:

builder.Services.Configure<Microsoft.AspNetCore.Http.Features.FormOptions>(options =>
{
    options.MultipartBodyLengthLimit = 52428800; // 与MaxFileSize保持一致,示例为50MB
    options.ValueLengthLimit = int.MaxValue;
});

随后在app.UseStaticFiles()之后添加中间件生效代码:

app.UseMiddleware<Microsoft.AspNetCore.Http.Features.FormOptions>();

3. 重启服务使配置生效

修改完成后,重启nopCommerce自托管服务:

# 假设服务名称为nopCommerce,根据实际名称调整
sudo systemctl restart nopCommerce

额外检查项

  • 确认nopCommerce进程对上传目录拥有写入权限,避免因权限问题导致上传失败
  • 若使用Nginx等反向代理,需同步调整代理的请求大小限制:
server {
    ...
    client_max_body_size 50M; # 与之前设置的文件大小匹配
    ...
}

修改后重启Nginx:

sudo systemctl restart nginx

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 22:17:04