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

.NET 9/10下Azure App Service添加MP4视频后无法访问的问题

解决Azure App Service中MP4视频无法访问的文件属性问题

针对你遇到的MP4视频在Azure App Service部署后出现404错误(提示资源已移除/更名/不可用),但同目录其他视频正常、替换为正常视频仍无效的情况,以下是需要检查的关键文件属性及配置:

1. 文件的「构建操作」属性

确保问题视频的构建操作设置为Content:

  • 在Visual Studio中右键视频文件 → 属性 → 构建操作选择「Content」。
  • 该属性确保.NET发布时将文件标记为内容资源,部署后静态文件中间件会正确识别并提供访问。若设置为None,即使文件被复制到服务器,也可能因元数据缺失导致无法被路由到。

2. 「复制到输出目录」属性

确认文件的复制到输出目录设置为「始终复制」或「如果较新则复制」:

  • 同样在文件属性中配置,避免发布过程中因文件未同步到输出目录(尽管Kudu显示存在,但可能存在元数据不一致)。

3. 显式配置MP4的MIME类型

Azure App Service默认支持MP4,但.NET 10的静态文件中间件默认行为可能有变化,或个别文件因编码问题导致MIME类型识别错误。可在Program.cs中强制指定:

app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = new FileExtensionContentTypeProvider
    {
        Mappings = { [".mp4"] = "video/mp4" }
    }
});

该配置确保所有.mp4文件都被映射为正确的视频MIME类型,避免因类型识别失败导致的404。

4. 文件权限检查

通过Kudu控制台验证文件的读取权限:

  1. 访问https://<your-app-name>.scm.azurewebsites.net/DebugConsole
  2. 执行命令检查权限:
icacls D:\home\site\wwwroot\<your-video-folder>\problematic.mp4

确保IIS_IUSRS组或Everyone拥有读取权限。若权限不足,可通过命令添加:

icacls D:\home\site\wwwroot\<your-video-folder>\problematic.mp4 /grant IIS_IUSRS:R

5. 文件名与路径规范

检查文件名是否包含空格、中文或特殊字符(如&、#等):

  • Azure App Service的文件系统区分大小写,且URL对特殊字符的解析可能出错。建议使用ASCII字符、无空格的文件名(用下划线_或连字符-替代)。

结合你提到的.NET 9刚发布时正常、后续失效的情况,大概率是构建操作属性未正确设置或**.NET 10静态文件中间件的默认MIME类型映射变化**导致的元数据缺失,优先检查前两项配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:42:06