ASP .NET Core MVC 发布到 IIS 上以后 无法下载apk等格式的文件
使用.NET Core MVC创建了一个站点,其他文件可以下载,但是后来又需求,就把手机端的apk合适的文件上传到服务端了,
即把apk 文件放到网站的wwwroot目录下的Update文件夹下,名字叫apkupdate.apk,
然后访问:http://192.168.1.219:8080/Update/apkupdate.apk,页面返回给我一个404 not find ,
错误如下图所示
上网查看了,说是IIS上没有设置APK 的MIME 的原因,随后设置的APK 的MIME类型,如下
文件扩展名 .apk, MIME类型:application/vnd.android.package-archive
然后重启IIS 运行 IISRESET,
但是设置完后重新打开浏览器,还是返回
找不到 192.168.1.219 的网页
找不到与以下网址对应的网页:http://192.168.1.219:8080/Update/apkupdate.apk
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
//使用静态文件
app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
//FileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory()),
//设置不限制content-type 该设置可以下载所有类型的文件,但是不建议这么设置,因为不安全
//ServeUnknownFileTypes = true
//下面设置可以下载apk和nupkg类型的文件
ContentTypeProvider = new FileExtensionContentTypeProvider(new Dictionary<string, string>
{
{ ".apk","application/vnd.android.package-archive"},
{ ".nupkg","application/zip"}
})
});
app.UseStaticFiles();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Login}/{action=Index}/{id?}");
});
//InitializeData.Initialize();
}