问题描述:
客户端上传.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});
}
如果存在多个,可以自己写一个配置,循环读取。配置好后重启服务,访问资源路径可以正常下载。

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

被折叠的 条评论
为什么被折叠?



