【问题标题】:loading .json files generates 404 errors加载 .json 文件会产生 404 错误
【发布时间】:2012-09-04 21:57:19
【问题描述】:

我的第一个 Azure 网站是一个简单的测试网站,我已经有一段时间了,它可以让 ajax 回调服务器以获取 JSON 数据。所有数据文件都有 .json 扩展名。 Azure 不会“看到”这些文件。如果我将扩展名更改为 .txt,它会为它们提供服务。

我是否必须使用 IIS 才能看到这个 .json?

【问题讨论】:

标签: json azure


【解决方案1】:

我也发现 Ahmed Sabbour 的博文很有帮助,但它给我带来了额外的问题。虽然修复适用于 Azure Web 应用程序,但当我尝试在本地运行该应用程序时,它可怕地死了,到处抛出 HTTP 500.19。我花了一段时间才弄清楚如何在维护单个 web.config 的同时解决这个问题。解决方案是(虽然有点软糖)先删除 fileExtension,然后将其重新添加:

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

出于我狭隘的目的,这很好,我希望这可以节省一些时间来解决这个问题。

【讨论】:

  • 对我来说,它只适用于 mimeMap 行,但如果我还包括“remove”行则失败。
  • @JesseSierks Yours 是解决我问题的评论。谢谢大哥!
【解决方案2】:

在他的博客文章http://blogs.msdn.com/b/africaapps/archive/2013/06/07/how-to-serve-static-json-files-from-a-windows-azure-website.aspx 中引用 Ahmed Sabbour,您必须执行以下操作:

"如果您将 .json 文件上传到您的 Windows Azure 网站并尝试访问它,它会给您一个 404 File Not Found 错误,因为默认情况下未设置 .json 的 MIME 类型。这也适用于一般适用于可能需要特定 MIME 类型的任何文件。

要解决此问题,请将 FTP 导入您的网站并上传以下 Web.config 文件,该文件将设置正确的 MIME 类型。如果您已经有一个 Web.config 文件,只需将以下内容添加到相应的部分。

<?xml version="1.0"?>

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

"。我这样做了,404 消失了。

【讨论】:

  • 这将取消设置 IIS 中已设置的所有其他内容。如果您有 CSS、JS 或图像,很有可能您必须在 web.config 文件的这一部分重新声明它们。
  • 只是为了补充这个非常好的答案,如果您正在使用 react,请通过以下方式将此 web.config 复制到构建文件夹(使用 npm react build )(Liviu Costea 的学分): medium.com/hackernoon/…
【解决方案3】:

Azure(至少是云服务)似乎知道如何从已部署的 ASP.NET MVC 项目中提供 JSON。我的问题是 JSON 文件属性页上的 Build Action 设置不正确。将 Build Action 更改为 Content 为我修复了它。

【讨论】:

  • 谢谢你。我一直在努力弄清楚为什么我的 manifest.json 文件会出现 404 错误,我认为这是一个 mime 类型的问题,而实际上这是我的问题;构建操作设置为无。
  • 如何正确设置构建操作?
【解决方案4】:

您是否尝试将特定的 MIME 类型添加到服务器的配置文件中?

http://www.iis.net/configreference/system.webserver/staticcontent/mimemap

如果您将 mime 类型添加为 application/json; charset=utf 应该可以的。

【讨论】:

  • 它对我有用。以前我添加了“mimeType = application/json;”这没有用。
猜你喜欢
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 2020-12-30
  • 2017-01-18
  • 2019-12-03
  • 2021-06-08
  • 1970-01-01
  • 2011-03-25
相关资源
最近更新 更多