VS2022 Angular14+C#后端项目中,IIS下载FLAC文件遇404错误求助
IIS下FLAC文件404问题的解决方法
出现FLAC文件下载和播放404的核心原因是IIS/ASP.NET Core默认未注册.flac扩展名对应的MIME类型,静态文件模块无法识别该类型,因此返回404错误。以下是针对性的解决步骤:
1. 在ASP.NET Core的Program.cs中配置FLAC的MIME类型
在项目的Program.cs里,给静态文件中间件添加.flac的MIME映射,确保后端能正确识别并返回文件:
var builder = WebApplication.CreateBuilder(args); // 配置静态文件的MIME类型 builder.Services.Configure<StaticFileOptions>(options => { var contentTypeProvider = (FileExtensionContentTypeProvider)options.ContentTypeProvider; // 检查是否已存在.flac的映射,不存在则添加 if (!contentTypeProvider.Mappings.ContainsKey(".flac")) { contentTypeProvider.Mappings.Add(".flac", "audio/flac"); } }); var app = builder.Build(); // 启用静态文件服务 app.UseStaticFiles(); // 其他业务中间件配置... app.Run();
2. 针对IIS(非IIS Express)的额外配置
如果部署到本地IIS服务器,还需要在IIS管理器中手动添加MIME类型:
- 打开IIS管理器,定位到目标网站或虚拟目录
- 双击功能列表中的「MIME类型」
- 点击右侧操作栏的「添加」,输入:
- 文件扩展名:
.flac - MIME类型:
audio/flac
- 文件扩展名:
- 保存配置后重启IIS服务
3. 排查其他可能的问题
- 检查FLAC文件的权限:确保IIS应用池的运行身份拥有该文件的读取权限
- 检查URL规则:确认web.config中没有针对.flac的重写或拦截规则,导致请求被阻断
- 验证文件路径:如果使用虚拟目录,确认物理路径映射正确,FLAC文件确实存在于对应目录中
内容的提问来源于stack exchange,提问作者D052057
相关产品推荐
相关产品推荐

