c# - 如何使用.NET框架将没有.json扩展名的上传到服务器的文件设置为内​​容类型 "application/json"

标签 c# ios .net json deep-linking

我一直在尝试在 iOS9 上为我们的 iOS 应用程序设置深层链接。 第一步涉及创建一个我已经完成的 JSON 文件,然后将其上传到服务器。 我遇到的问题是我已将 json 文件上传到位于以下位置的服务器:https://www.example.com/apple-app-site-association但是当我在浏览器上检查这个 URL 时,它返回 404 File not found 错误响应。我应该能够像在 Google 上一样看到它:https://www.google.com/apple-app-site-association

在 Apple Developer 文档上,它说我必须确保我不保存扩展名为 .json 的文件,所以这就是不包含 .json 扩展名的原因。

文档上说你必须将文件设置为 MIME 类型 application/json。 我相信这一定是问题所在,因为我还没有这样做。

我的问题是如何设置文件的 MIME 类型? 我知道这必须在服务器端的某个地方设置,如果它有助于我们使用 .NET 框架作为我们的网络应用程序和服务器端代码。 将此文件设置为 MIME 类型“application/json”的编程代码是什么?此代码应放在哪个文件中?

感谢任何人的帮助。

最佳答案

您需要将 apple-app-site-association 端点映射到网站根目录中的 json 文件。我通过在 .webconfig 中使用 url 重写实现了这一点

如果您在 IIS 中没有 url 重写模块,您可以在这里下载它: http://www.iis.net/downloads/microsoft/url-rewrite

这是我当前的网络配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="apple_json_file">
                    <match url="^apple-app-site-association" />
                    <action type="Rewrite" url="apple-app-site-association.json" />

                </rule>
            </rules>
        </rewrite>
        <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
        </staticContent>

    </system.webServer>
</configuration>

关于服务 mime 类型的最后一部分可能是不必要的,这取决于您的服务器是否已经识别 .json 扩展名。

关于c# - 如何使用.NET框架将没有.json扩展名的上传到服务器的文件设置为内​​容类型 "application/json",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33081281/

相关文章:

C# 9 记录有 ToString() 的 { propertyName=value } 输出,如何从中返回记录类型?

c# - 将 XML 文件显示到列表框中

ios - 创建 TestFlight 内部测试人员组?

c# - 在表单之间共享类

asp.net - 新的 dotnet core 项目无法恢复

c# - 根据在 C# 中创建的日期搜索文件

c# - 如何在不考虑平台的情况下在 C# 应用程序中使用 C++ 类?

c# - 抑制或避免警告 CA2214

iphone - 给 CAShapeLayer 添加阴影,让里面保持透明

ios - PubNub 显示打字指示器