2016-11-21 5 views
2

私はASP.NET MVC 5アプリケーションを開発しています。私はMVCコントローラにフォームを送信するJavaScript POSTメソッドを使用しています。通常、ファイルをサーバーにアップロードしています。私はファイルがアップロードされる複数のページを持っています。ファイルは画像、ドキュメントなどになる可能性があります。JavaScriptでform.submitがASP.NET MVCアプリケーションでHTTPハンドラをヒットしましたか?

ファイルをアップロードする前にいくつかの一般的なカスタム機能を追加します。ファイルサイズを確認したいとしましょう。これは、HTML5をサポートしていないブラウザを使用しているクライアントがあるため、クライアント側では不可能です。

大きなファイルをアップロードしようとすると、IISは要求を404.13として返します(コンテンツの長さは大きい)。それは私のコントローラーに当たらない。私はHTTPHandlerとRouteHandlerを作成しようとしました。これはMVCアプリケーションです。しかし、どちらもうまくいきません。

誰にもこのためのHTTPハンドラを作成する方法をお勧めしますか?

+0

アップロードを許可するようにIISを構成しますか? –

答えて

0

Jaromanda X氏によると、より大きなファイルを扱えるようにIISを設定する必要があるようです。このフォーラムで何回も議論されていたはずの主題ですので、検索すると答えが見つかります。あなたはこのようなsystem.webの設定内側/変更httpRuntimeを追加する必要がEasy ways to upload and validate large files in ASP.NET

+0

あなたの再生のためにありがとう、これは大規模なファイルをアップロードするためにIISを設定することに関連していない、私はすでにHTTPハンドラの種類のものが要求を処理する必要があります。何か手がかりを教えてください – Rohit

+0

@Rohitなぜあなたはエラーがあなたのコンテンツの長さについては、そのハンドラを考えるのですか?小さなファイルをアップロードしようとしているときに同じインフラストラクチャが機能していますか? – astian

0

完全に役に立たない:)ではないと、私はあなたにそれを行う方法を説明されているソースを提案します

<configuration> 
... 
<system. web> 
    <httpRuntime maxRequestLength="102400" executionTimeout="3600" /> 
... 
</system .web> 
</configuration> 

ここで、maxRequestLength="102400"は最大ファイルサイズ(バイト)で、executionTimeout="3600"は低速接続で増加する必要がある最大実行時間です。あなたは30000000(28.6メガバイト)ファイルより大きなファイルがある場合は、TOUはweb.configに追加する必要があります。

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

MSDNで<httpRuntime> Elementを参照してください。

関連する問題