1

この例に従って、画像をアップロードするためのファイルAPIを実装しようとしています

http://robertnyman.com/html5/fileapi-upload/fileapi-upload.html

サーバー側では、IIS7でASP.NET MVC 3を使用しています(統合、32ビットのみ)

DevelopmentServerとIIS7.5ではすべてがローカルで正常に機能します。サーバー上でも機能しますが、ファイルが特定のサイズの場合(2.2MBの画像ファイルで機能する場合)、アップロードは機能しているように見えますが、応答は404ページです。maxRequestLengthを10MBに構成しましたが、デフォルトの4MBでも機能するはずです。

返される404ページはデフォルトでIIS7であり、アプリケーションの404ページではありません(FiddlerまたはFirebugで結果を確認します)。すべてのランダムなURLをキャッチし、カスタム404ページを表示していますが、この場合、要求はASP.NETパイプラインに送信されていないようです(アプリケーションプールは統合に設定されています)。

発生する可能性のある例外(404を含む)もログに記録しています。この問題に関する限り、ログは明確です。サーバーのイベントログにも何もありません。

何か案は?

ありがとう!

4

1 に答える 1

8

HTML5ファイルAPIやASP.NETMVCとは何の関係もありませんでした。

問題は、IIS7ではmaxAllowedContentLengthを指定する必要があることでした。アドバタイズされたデフォルト値は4MBですが、2MBのファイルのアップロードに失敗したため、これは当てはまらないようです。興味深いことに、ローカルのIIS7.5(Windows 7)にはこの問題はないようです。おそらく、IIS7.5(Windows Server 2008 R2)で修正されています。

これを修正するには、web.configで次のようなものがあることを確認してください。

<system.webServer>
  ...
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="10485760" />
    </requestFiltering>
  </security>
  ...
</system.webServer>

値はバイト単位です。10MBを指定しました

于 2011-07-14T02:46:05.677 に答える