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();
}