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

ASP.NET Core 8.0文件上传功能在Windows正常但Ubuntu 22.04环境下报500错误的解决求助

ASP.NET Core 8.0文件上传功能在Windows正常但Ubuntu 22.04环境下报500错误的解决求助

大家好,我最近碰到了一个头疼的问题,想请教下各位:

我平时用Windows系统搭配Visual Studio开发Web应用,生产环境用的是Ubuntu Server 22.04(LTS),两边都跑的是.NET 8.0 runtime。应用在Ubuntu上整体运行正常,但用户文件上传的部分会触发500错误。因为我是在Windows上开发的,没法直接在Ubuntu环境下调试,折腾了好久才定位到出错的代码段。

下面是我用于文件上传的代码:

[HttpPost]
[Authorize]
public async Task<IActionResult> UploadNewPmFile(IList<IFormFile> uploadedFile)
{
    // 省略其他代码...

    var fileName = Path.GetFileName(file.FileName);
    var fileExtension = Path.GetExtension(fileName);
    var newFileName = string.Concat(userId, fileExtension);
    var path = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\Data\Temp", newFileName);

    using (var stream = new FileStream(path, FileMode.Create)) //***Error is here***
    {
        await file.CopyToAsync(stream);
    }

    // 省略其他代码...
}

如你所见,就是这段using代码块在Ubuntu上触发了500错误,但在Windows上完全正常。

我已经在站内搜了不少相关问题,但没找到能解决这个情况的方案,想问问大家有没有遇到过类似问题,该怎么修复?

更新补充:
需要说明的是,应用发布后在Windows上运行完全没问题,只有在Ubuntu环境下,文件上传的部分会出问题。

备注:内容来源于stack exchange,提问作者Alex Wright

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 13:03:10