加载.json文件会生成404错误

Pab*_*blo 33 json azure

我的第一个Azure网站是一个简单的测试网站,我已经有一段时间使ajax调用回服务器获取JSON数据.所有数据文件都有.json扩展名.Azure不会"看到"这些文件.如果我将扩展名更改为.txt,则可以很好地为其提供服务.

是否必须使用IIS来获取此.json才能看到?

Mik*_*use 39

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

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

对于我的狭隘目的,这很好,我希望这可能会节省一些时间试图解决这个问题.


Kla*_*aas 33

引用Ahmed Sabbour的博客文章http://blogs.msdn.com/b/africaapps/archive/2013/06/07/how-to-serve-static-json-files-from-a-windows-azure-website .aspx你必须做以下事情:

"如果您将.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> 
Run Code Online (Sandbox Code Playgroud)

"我这样做了,404就没了.


小智 1

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

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

如果您添加 mime 类型,那么 application/json; charset=utf 应该可以工作。