NetCore浏览.heic格式的图片显示404

博客介绍了在IIS上遇到.heic文件无法预览,显示404错误的问题。原因是IIS未识别该文件类型。解决方案是在NetCore服务的Startup中添加对.heic和.apk文件的MIME类型支持,通过配置StaticFileOptions启用静态资源并重启服务,从而允许正常下载和访问这些文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

客户端上传.heic文件后,浏览文件地址显示404,找不到?实际上文件在服务器上是存在的,访问不能预览的文件应该是可以下载的,但是没有下载,直接提示404。
在这里插入图片描述

原因:

跟在IIS上部署服务是一个问题,IIS对文件的一种保护,不在IIS指定的MIME类型里的文件不会被操作,手动添加对应的 MIME 类型就可以解决这个问题,NetCore服务在Startup里面添加指定的MIME类型就可以解决这个问题。

解决方案:

找到Startup中的Configure方法,启用静态资源文件(UseStaticFiles),指定MIME类型

public void Configure(IApplicationBuilder app){
       //指定MIME类型  
       var provider = new FileExtensionContentTypeProvider();
       provider.Mappings[".heic"] = "image/heic";//访问下载.heic格式的图片
       provider.Mappings[".apk"] = "application/vnd.android.package-archive";//apk文件
       //启用静态资源文件
      app.UseStaticFiles(new StaticFileOptions(){ContentTypeProvider = provider});
}

如果存在多个,可以自己写一个配置,循环读取。配置好后重启服务,访问资源路径可以正常下载。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值