当我在浏览器中引用一个".apk"
文件时,无论是http
还是https
,响应都是error 404
,并且它不会开始下载该文件。 / p>
".apk"
的地址是
http://example.com/Upload/App/a.apk
并确认我指向正确的地址,已将图片文件放置在该位置(http://example.com/Upload/App/a.png
),可以用浏览器打开图片。
我已经搜索了stackoverflow和google,并尝试了几个首页上的所有内容,但是它们都提供了相同的内容,而所提供的解决方案对每个人都有效,但对我却不起作用。
我已经按照所有文章,问题和文档中的步骤进行了此操作:
IIS
经理中,我选择了网站并单击了MIME Types
Add
超级链接并定义了一个新的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
答案 0 :(得分:1)
我在stackoverflow和google上的搜索错误。我在IIS
上部署的项目是一个.Net Core
网站,看来在.Net Core
项目中,无需在MIME Types
服务器上添加新的IIS
。而是在MIME Types
内的Configure()
方法中处理Startup.cs
var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".apk"] = "application/vnd.android.package-archive";
app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = provider
});