gpt4 book ai didi

c# - APK 包不在 ASP.NET Core MVC 中提供

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:24 24 4
gpt4 key购买 nike

我想在我的 ASP.NET Core MVC 项目中提供 .apk 文件,但我不能,因为它返回 404。

我在 VS 2017 中使用默认模板创建了一个简单的 ASP.NET Core MVC 项目,并将 .apk 文件添加到 wwwroot 文件夹,然后我尝试访问它使用 /application.apk 路径,它没有工作,而 /favicon.ico 工作,并且该目录中的其他静态内容工作,因为在默认模板 app.UseStaticFiles() 被调用。

然后我尝试更改配置,将静态内容从 wwwroot 文件夹中取出,并将 application.apk 放在项目的根目录中(一个文件夹从 wwwroot) 并使用以下方法配置项目:

app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory())
});

还是没有结果。我得到 404。

然后我创建了一个 Web.config 文件并添加了这个 MIME 类型:

<staticContent>
<mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" />
</staticContent>

仍然不提供 .apk 文件。

我该怎么办?

最佳答案

ASP.NET Core 静态文件中间件显然不提供在 ContentTypeProvider 中没有映射到 MIME 类型的文件。要解决这个问题,您应该将 MIME 映射添加到 ContentTypeProvider:

    FileExtensionContentTypeProvider contentTypes = new FileExtensionContentTypeProvider();
contentTypes.Mappings[".apk"] = "application/vnd.android.package-archive";
app.UseStaticFiles(new StaticFileOptions
{
ContentTypeProvider = contentTypes
});

现在将提供 .apk

关于c# - APK 包不在 ASP.NET Core MVC 中提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49402090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com