添加的 MIME 类型在 .Net Core 项目的 IIS 上不起作用时如何调试
How to debug when added MIME Type is not working on IIS for .Net Core projects
当我在浏览器中引用 ".apk"
文件时,无论是 http
还是 https
响应都是 error 404
并且它不会开始下载该文件.
".apk"
的地址是
http://example.com/Upload/App/a.apk
为了验证我指向的地址是否正确,我在该位置放置了一个图片文件 (http://example.com/Upload/App/a.png
),我可以通过浏览器打开图片。
我在 Whosebug 和 google 上进行了搜索,并尝试了几个首页上的所有内容,但所有页面都提供了相同的内容,虽然所提供的解决方案对每个人都适用,但对我却不起作用。
我尝试过的:
我已经完成了所有文章、问题和文档中提供的这些步骤:
- 在
IIS
管理器中,我选择了网站并单击 MIME Types
- 我点击了
Add
hyper link 并定义了一个新的 MIME Type
- 扩展名的值为
".apk"
,MIME 类型的值为 "application/vnd.android.package-archive"
我发现这些行已自动添加到 web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
</staticContent>
</system.webServer>
定义新 MIME Type
后我重新启动了网站,重新启动了整个 IIS
服务,我仍然得到 404 error
如果有人可以指导我如何调试问题出在这一点上。
跟踪日志:
根据评论中的建议,我启用了 Troubleshooting Failed Requests Using Tracing:
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
我在 Whosebug 和 google 上的搜索是错误的。我在 IIS
上部署的项目是一个 .Net Core
网站,在 .Net Core
项目中似乎不需要在 IIS
服务器中添加新的 MIME Types
。相反 MIME Types
在 Startup.cs
中的 Configure()
方法中处理
var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".apk"] = "application/vnd.android.package-archive";
app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = provider
});
当我在浏览器中引用 ".apk"
文件时,无论是 http
还是 https
响应都是 error 404
并且它不会开始下载该文件.
".apk"
的地址是
http://example.com/Upload/App/a.apk
为了验证我指向的地址是否正确,我在该位置放置了一个图片文件 (http://example.com/Upload/App/a.png
),我可以通过浏览器打开图片。
我在 Whosebug 和 google 上进行了搜索,并尝试了几个首页上的所有内容,但所有页面都提供了相同的内容,虽然所提供的解决方案对每个人都适用,但对我却不起作用。
我尝试过的:
我已经完成了所有文章、问题和文档中提供的这些步骤:
- 在
IIS
管理器中,我选择了网站并单击MIME Types
- 我点击了
Add
hyper link 并定义了一个新的MIME Type
- 扩展名的值为
".apk"
,MIME 类型的值为"application/vnd.android.package-archive"
我发现这些行已自动添加到 web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
</staticContent>
</system.webServer>
定义新 MIME Type
后我重新启动了网站,重新启动了整个 IIS
服务,我仍然得到 404 error
如果有人可以指导我如何调试问题出在这一点上。
跟踪日志:
根据评论中的建议,我启用了 Troubleshooting Failed Requests Using Tracing:
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
我在 Whosebug 和 google 上的搜索是错误的。我在 IIS
上部署的项目是一个 .Net Core
网站,在 .Net Core
项目中似乎不需要在 IIS
服务器中添加新的 MIME Types
。相反 MIME Types
在 Startup.cs
Configure()
方法中处理
var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".apk"] = "application/vnd.android.package-archive";
app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = provider
});