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

Lea*_*yes 123 asp.net json iis-6

如何从旧的ASP.NET站点(我认为是IIS6)下载*.json文件?

我得到的是404页而不是JSON文件.

我是否需要创建web.config文件?它包含了什么?

Pro*_*ega 208

如果要手动添加对站点的支持,只需将以下内容添加到system.webServer部分的web.config中:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)

这将在IIS下添加"本地"配置.这在IIS6中不起作用,但在IIS7和更新版本中可以使用.

  • 更新了您的答案,以包含完整的`web.config`路径. (6认同)
  • 这将在本地运行时解决问题,但在推送时要注意。如果已经在 IIS 中全局配置了 mimeMap,您将收到 500 错误。在这种情况下,只需从您的 web.config 中删除此部分即可。 (2认同)

Jon*_*ams 115

将JSON MIME类型添加到IIS 6.按照MSDN的配置MIME类型(IIS 6.0)中的说明进行操作.

  • 扩展名:.json
  • MIME类型:application/json

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

更新:在IIS7和更新版本上有简单的方法可以做到这一点.操作系统专门要求IIS6提供帮助,所以我将原来的答案保留下来.但是,即使IIS6现在很老,这个答案仍然会获得大量流量.希望你使用的是更新的东西,所以我想提一下,如果你有一个较新的IIS7或更新的版本,请参阅下面的@ ProVega答案,为这些新版本提供更简单的解决方案.

  • +1适用于静态网站,而不仅仅是ASP.Net (3认同)

Kau*_*mar 20

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

方法1

转到IIS,选择您的应用程序和查找MIME类型

在此输入图像描述

单击"从右侧添加"面板

文件名扩展名= .json

MIME类型= application/json

在此输入图像描述

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


方法2

转到该应用程序的web.config并在其中添加此行

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>
Run Code Online (Sandbox Code Playgroud)


Mar*_*per 13

当添加对mimetype的支持时(如@ProVega所建议),最佳做法是在添加之前删除类型 - 这是为了防止在部署到已存在类型支持的服务器时出现意外错误,例如:

<staticContent>
    <remove fileExtension=".json" />
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Run Code Online (Sandbox Code Playgroud)


lon*_*gda 5

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

  • 如果web.config不够,你可能需要在`<mimeMap>`节点之前添加这一行:`<remove fileExtension =".json"/>`.您不必触摸applicationhost.config(或machine.config).话虽这么说,如果您经常创建新站点并且不想为每个站点修改web.config,则修改这些文件可能很有用.这可能适用于开发环境,但通常您无法在生产环境中触摸machine.config,因此我仍然建议您在web.config中进行更改. (3认同)