ASP .NET Core MVC 发布到 IIS 上以后 无法下载apk等格式的文件 使用.NET Core MVC创建了一个站点,其他文件可以下载,但是后来又需求,就把手机端的apk合适的文件上传到服务端了, 即把apk
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
HTTP ERROR 404 搜索的很多资料才发现原来是 程序导致的,于是回头把程序修改了一下,重新发布,再打开浏览器就可以了下载APK格式的文件了。 修改的内容如下: 在 startup.cs文件中修改(标红部分)
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();
}
龙腾一族至尊龙骑