web-dev-qa-db-ja.com

.jsonファイルをロードすると404エラーが発生します

私の最初のAzureWebサイトは、JSONデータ用にサーバーにajax呼び出しを行う、しばらくの間使用していた単純なテストサイトです。すべてのデータファイルの拡張子は.jsonです。 Azureはこれらのファイルを「認識」しません。拡張子を.txtに変更すると、サーバーは正常に機能します。

この.jsonを表示するには、IISをいじる必要がありますか?

33
Pablo

私もAhmedSabbourのブログ投稿が役に立ちましたが、それは私にとって追加の問題を引き起こしました。 Azure Webアプリで修正が機能したのに、アプリをローカルで実行しようとすると、ひどく死んでしまい、どこにでもHTTP500.19がスローされました。単一のweb.configを維持しながら、これを修正する方法を理解するのに少し時間がかかりました。解決策は、最初にfileExtensionを削除してから、次の場所に追加し直すことでした。

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

私の狭い目的では、これは問題ありませんでした。これにより、誰かがこれを理解しようとする時間を節約できることを願っています。

38
Mike Rouse

彼のブログ投稿で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ファイルをWindowsAzure Webサイトにアップロードしてアクセスしようとすると、デフォルトで.jsonのMIMEタイプが設定されていないため、404 File NotFoundエラーが発生します。これは一般的にすべてのファイルに適用されます。特定のMIMEタイプを必要とする可能性のあるファイル。

この問題を修正するには、WebサイトにFTPで転送し、正しいMIMEタイプを設定する次のWeb.configファイルをアップロードします。すでにWeb.configファイルを配置している場合は、以下を適切なセクションに追加してください。

<?xml version="1.0"?>

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

"。私はこれを行い、404はなくなりました。

33
Klaas

Azure(少なくともクラウドサービス)は、デプロイされたASP.NETMVCプロジェクトからJSONを提供する方法を知っているようです。私の場合の問題は、JSONファイルのプロパティページのビルドアクションが正しく設定されていないことでした。ビルドアクションをコンテンツに変更すると、修正されました。

0
Todd

サーバーの構成ファイルに特定のMIMEタイプを追加しようとしましたか?

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

Mimeタイプをapplication/json; charset=utfとして追加すると、機能するはずです。

0
user1634459