首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从ASP.NET核心MVC为安卓应用提供服务

如何从ASP.NET核心MVC为安卓应用提供服务
EN

Stack Overflow用户
提问于 2018-05-07 14:28:54
回答 2查看 403关注 0票数 1

是否可以使用此URL domain.tld/android_application_name.apk来提供AndroidApplications目录中的安卓应用程序apk文件?

换句话说,我有一个与Controllers文件夹、wwwroot文件夹和Program.cs文件同级的文件夹。它的名字叫AndroidApplications,里面有一堆.apk文件。但我不想在URL中为他们添加额外的片段。我希望能够通过这个网址提供app1.apkdomain.tld/app1.apk。我怎样才能做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-07 18:51:17

你应该看看Url Rewriting Middleware

代码语言:javascript
复制
public void Configure(IApplicationBuilder app)
{
    var options = new RewriteOptions()
        .AddRewrite(@"^(.*?\.apk)$", "AndroidApplications/$1", 
            skipRemainingRules: true)

    app.UseRewriter(options);
}

这将重写所有以apk结尾的urls,即从/myapp.apk urls到/AndroidApplications/myapp.apk

票数 1
EN

Stack Overflow用户

发布于 2018-06-08 04:18:53

我已经看到一些类似的答案: 1)在IIS中添加".apk“扩展名和相应的mime类型

enter image description here

2)在web.config的system.webServer节点中添加以下节点

但这两种方法都不起作用。

所以我找到了另一个解决方案,它对我很有效

3)在启动的配置方法中,设置StaticFileOptions的ServeUnknowFileType为true

var staticFileOptions =新StaticFileOptions { ServeUnknownFileTypes = true };

代码语言:javascript
复制
        app.UseStaticFiles(staticFileOptions);

但我担心的是安全问题。

另外,上述两种解决方案可能只适用于windows,当迁移到linux时,这仍然是一个问题,如果我错了,请纠正我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50208228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档