如何从 ASP.NET 核心 MVC 服务 android 应用程序
How to serve android application from ASP.NET Core MVC
是否可以使用此 URL domain.tld/android_application_name.apk
为 AndroidApplications
目录中的 Android 应用程序 apk
文件提供服务?
换句话说,我有一个与 Controllers
文件夹和 wwwroot
文件夹以及 Program.cs
文件同级的文件夹。它叫做 AndroidApplications
,里面有一堆 .apk
文件。但我不想为他们在 URL 中添加额外的段。我希望能够通过 URL: domain.tld/app1.apk
服务 app1.apk
。我怎样才能做到这一点?
你应该看看Url Rewriting Middleware。
public void Configure(IApplicationBuilder app)
{
var options = new RewriteOptions()
.AddRewrite(@"^(.*?\.apk)$", "AndroidApplications/",
skipRemainingRules: true)
app.UseRewriter(options);
}
这应该重写所有以 apk
结尾的网址,即从 /myapp.apk
网址到 /AndroidApplications/myapp.apk
.
我看到了一些答案,例如:
1) 在 IIS 中添加“.apk”扩展名和相应的 mime 类型
enter image description here
2) 在 web.config
的 system.webServer 节点中添加以下节点
但都不起作用。
所以我找到了另一个解决方案,它对我有用
3) 在Startup的Configure方法中设置StaticFileOptions的ServeUnknowFileType为true
var staticFileOptions =
新的静态文件选项
{
ServeUnknownFileTypes = 真
};
app.UseStaticFiles(staticFileOptions);
但是我担心安全问题。
另外以上两种解决方案可能只适用于windows,迁移到linux后仍然是个问题,如有错误请指正。
是否可以使用此 URL domain.tld/android_application_name.apk
为 AndroidApplications
目录中的 Android 应用程序 apk
文件提供服务?
换句话说,我有一个与 Controllers
文件夹和 wwwroot
文件夹以及 Program.cs
文件同级的文件夹。它叫做 AndroidApplications
,里面有一堆 .apk
文件。但我不想为他们在 URL 中添加额外的段。我希望能够通过 URL: domain.tld/app1.apk
服务 app1.apk
。我怎样才能做到这一点?
你应该看看Url Rewriting Middleware。
public void Configure(IApplicationBuilder app)
{
var options = new RewriteOptions()
.AddRewrite(@"^(.*?\.apk)$", "AndroidApplications/",
skipRemainingRules: true)
app.UseRewriter(options);
}
这应该重写所有以 apk
结尾的网址,即从 /myapp.apk
网址到 /AndroidApplications/myapp.apk
.
我看到了一些答案,例如: 1) 在 IIS 中添加“.apk”扩展名和相应的 mime 类型
enter image description here
2) 在 web.config
的 system.webServer 节点中添加以下节点
但都不起作用。
所以我找到了另一个解决方案,它对我有用
3) 在Startup的Configure方法中设置StaticFileOptions的ServeUnknowFileType为true
var staticFileOptions = 新的静态文件选项 { ServeUnknownFileTypes = 真 };
app.UseStaticFiles(staticFileOptions);
但是我担心安全问题。
另外以上两种解决方案可能只适用于windows,迁移到linux后仍然是个问题,如有错误请指正。