Webcong ファイルを変更します:
以下は引用された内容です:
<system.web> <httpRuntime maxRequestLength="40690" useFullyQualifiedRedirectUrl="true" executionTimeout="6000" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" /> </system.web>
アップロードに密接に関連するものは次のとおりです:
maxRequestLength
ASP.NET でサポートされる最大ファイル アップロード サイズを示します。
この制限は、ユーザーがこのサーバーに大量のファイルを渡すことによって引き起こされるサービス拒否攻撃を防ぐために使用できます。
指定されたサイズはKB単位です。
デフォルト値は 4096 KB (4 MB) です。
executionTimeout
ASP.NET によって自動的に閉じられるまでに、リクエストの実行が許可される最大秒数を示します。
単位は秒です。大きなファイルをアップロードする場合は、これをより大きな値に設定します。
サーバーメモリが512Mの場合、160Mのファイルをアップロードできます。 (私は試していません。これが csdn の多くの投稿の満場一致の意見です。)
web.config の設定はここまでです。
ただし、アップロードされたファイルのサイズがこの設定のファイル サイズ範囲を超えると、次のエラーが発生します: ページを表示できません 表示したいページは現在利用できません。 Web サイトで技術的な問題が発生しているか、ブラウザの設定を調整する必要がある可能性があります。
解決できませんが、このエラーをキャッチする必要があります。どうやってするの? このエラーはファイル コントロールによって発生するフォアグラウンド エラーであるため、バックグラウンドで try...catch を使用してキャッチしようとしても機能しません。
そこで、.NET のエラー キャプチャ ページのメカニズムを使用して処理することを考えました。それは可能です。
以下は引用された内容です:
1. まず web.config を設定します
<customErrors mode="On"/>
2. エラーをキャッチするための新しい error.aspx ファイルを作成します。
3. ファイルがアップロードされる aspx ページのフロント ページに page コマンドを追加します。 ErrorPage="UploadError.aspx"
4. error.aspx にコードを追加して、エラー メッセージがファイルに起因するフォアグラウンド エラーであるかどうかを判断します。
public class UploadError : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { Exception ex = Server.GetLastError(); if (ex != null) { Response.Redirect("../error.aspx"); } else //前台错误ex为空值 { Response.Redirect("uploadexcel.aspx?err=1"); //重新跳转到上传页面, 加上err参数是为了显示错误信息 } }
5. エラーメッセージを表示します。
public class uploadexcel : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { if (Request["err"] == "1") { Page.RegisterStartupScript("budget","<script language = javascript> alert('Upload file has failed ! File size is too large !')</script>"); } } }
.NET ファイル アップロード コントロールの使用方法の詳細については、web.config ファイルを変更して大きなファイルをアップロードします。関連記事については、PHP 中国語 Web サイトを参照してください。