0

configs の最大リクエスト長よりも大きなファイルをアップロードすると、「サーバー応答エラー: 不明なサーバー エラー」アラート ポップアップが表示されます。応答ページを表示するかどうかを尋ねられ、[OK] をクリックすると、「要求の最大長を超えました」というアプリケーション エラー ウィンドウが表示されます。

私はすでにこれを見つけました... 「最大リクエスト長を超えました」をキャッチ

私はそれを機能させることに失敗しました。

また、同様の別の SO の質問 (今は見つけられないようです) も見つけました。違いは、OP がエラー ページにリダイレクトする方法を尋ねたことです。私はそれをしたくありません。答えは、web.config で設定されるカスタム エラー リダイレクトを使用することでした。

私は単にエラーを吸収して何もしたくないので、OnClientUploadError イベントを使用して js 経由でエラーを処理しています。基本的に、私はこのばかげたポップアップ メッセージが欲しくないだけです。

奇妙なことに、アプリをローカルで実行しているときにはエラーが表示されませんが、アプリをサーバーに展開するとエラーが表示されます。

リクエストの最大長を設定する構成値について知っていることに注意してください。このインスタンスでは、非常に大きく設定しても機能しません。

更新だから、これは私たちのサーバーのIIS設定に何かあるのではないかと思っています。地方で起こらないのはおかしい。私が探しているもののアイデアはありますか?私がネットで見つけたもののほとんどは、machine.config を変更することを提案しています。ただし、前に述べたように、単純に許容サイズを大きくしたいわけではありません。私はjsを介してエラーをうまく処理していますが、このアラートがどのような状況でも表示されることは望ましくありません。

更新さて、IIS の既定の制限は 30MB のようです。私が試しているファイルはこれよりもはるかに少ないです。私は途方に暮れています...

4

2 に答える 2

2

OnClientUploadError で、いくつかのフラグを設定する JavaScript を記述し、フォームの送信中にそのフラグを使用して、アップロードがエラーを引き起こしたというメッセージをユーザーに提供します。

<asp:AsyncFileUpload ID="fileUpload" 
                     runat="server" OnClientUploadError="onUploadError"
                     OnClientUploadComplete="uploadComplete"
                     OnUploadedComplete="OnUploadComplete" />

JavaScriptで

 <script language="javascript" type="text/javascript">
     var uploadError = false;    
     function onUploadError()
     {
          uploadError = true;
     }

     function uploadComplete()
     {
          uploadError = false;
     }

     function validateForm()
     {
         return !uploadError;
     }
 </script>

これにより、エラー ページへのリダイレクトが回避されます。

于 2010-11-04T08:39:27.087 に答える
0

httpRuntimeノードの下のWeb.Configで値4096を確認します。100mbまたは必要に応じて増やします。4096は4MBを意味します。

于 2010-08-06T19:10:27.227 に答える