当添加的 MIME 类型在 .Net Core 项目的 IIS 上不起作用时如何进行调试

Mas*_*arz 4 c# iis mime-types .net-core

".apk"当我在浏览器中引用一个文件时,无论它是http还是https响应error 404,它都不会开始下载该文件。

的地址".apk"http://example.com/Upload/App/a.apk,为了验证我是否指向正确的地址,我在该位置放置了一个图片文件 ( http://example.com/Upload/App/a.png),并且我可以通过浏览器打开该图片。

我已经在 stackoverflow 和 google 上进行了搜索,并尝试了几个第一页上的所有内容,但所有这些都提供相同的内容,虽然提供的解决方案适用于每个人,但它对我不起作用。


我尝试过的:

我已经按照所有文章、问题、文档中提供的步骤完成了这些步骤:

  1. IIS管理器中,我选择了网站并单击MIME Types
  2. 我点击了Add超链接并定义了一个新的MIME Type
  3. ".apk"用于扩展和"application/vnd.android.package-archive"MIME 类型

我意识到这一行已自动添加到 web.config 中:

<system.webServer>
    <staticContent>
        <mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
    </staticContent>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

定义新的网站后MIME Type,我重新启动了网站,重新启动了整个IIS服务,404 error如果有人可以指导我如何从这一点调试问题,我仍然会很感激。


追踪日志:

正如评论中所建议的,我已启用使用跟踪对失败的请求进行故障排除

Headers="Connection: close
Accept: 
text/html,application/xhtml+xml,
application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed- 
exchange;v=b3
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Run Code Online (Sandbox Code Playgroud)

Mas*_*arz 7

我在 stackoverflow 和 google 上的搜索是错误的。我部署的项目IIS是一个.Net Core网站,似乎在.Net Core项目中不需要MIME TypesIIS服务器中添加新的。而是在方法里面MIME Types处理Configure()Startup.cs

var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".apk"] = "application/vnd.android.package-archive";

app.UseStaticFiles(new StaticFileOptions
{
    ContentTypeProvider = provider
});
Run Code Online (Sandbox Code Playgroud)