如何允许使用 ASP.NET 下载. json 文件

我如何能够从一个旧的 ASP.NET 站点(我相信是 IIS6)下载 * . json 文件?

我得到的是一个404页面,而不是 JSON 文件。

我需要创建一个 web.config 文件吗?

115064 次浏览

将 JSON MIME 类型添加到 IIS6。

  • 分机: . json
  • MIME 类型: 应用程序/json

更改后不要忘记重新启动 IIS。

更新: 在 IIS7和更新的版本中,有一些简单的方法可以做到这一点。行动组特别要求 IIS6协助,所以我要原封不动地回答。尽管 IIS6现在已经很老了,但是这个答案仍然获得了大量的流量。希望您使用的是更新的版本,所以我想提一下,如果您有更新的 IIS7或更新的版本,请参阅@ProVega 下面的答案,以获得这些更新版本的更简单的解决方案。

如果你想手动为你的站点添加支持,你可以在 System.webServer部分的 web.config 中添加以下内容:

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

这将在 IIS 下添加一个“本地”配置。这在 IIS6中不起作用,但在 IIS7和更新的版本中起作用。

只有这个问题,但必须找到 IISExpress 的配置,以便我可以添加 mime 类型。对我来说,它位于 C:\Users\<username>\Documents\IISExpress\config\applicationhost.config,我能够在那里添加正确的“哑剧地图”。

解决方案是需要在 MIME 类型中添加 json 文件扩展类型

方法1

进入 IIS,选择您的应用程序并查找 MIME 类型

enter image description here

单击“从右边添加”面板

文件名扩展名 = . json

MIME Type = application/json

enter image description here

MIME 类型重新启动 IIS中添加 . json文件类型后,尝试访问 json 文件


方法2

转到该应用程序的 web.config 并在其中添加以下代码行

 <system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>

当添加对 imetype 的支持时(正如@ProVega 所建议的) ,在添加之前删除该类型也是最佳实践——这是为了防止在部署到已经支持该类型的服务器时出现意外错误,例如:

<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
  1. 导航到 C: 用户用户名文档 IISExpress 配置
  2. 使用 Visual Studio 或您喜欢的文本编辑器打开 applicationhost.config。
  3. 搜索“ mimeMap”这个词,你会发现很多这样的词。
  4. 将以下行添加到列表的顶部: 。