ASP .NET Core 2.0 MVC 發布到 IIS 上以后 無法下載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();
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM