.NETのfileファイルアップロードコントロールの使い方Webを修正する.configファイル大ファイルアップロード

2541 ワード

Webcongファイルの変更:
以下は参照の内容です.
 
  

useFullyQualifiedRedirectUrl="true"
executionTimeout="6000"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>


アップロードと密接な関係があるのは、次のとおりです.
 
  
maxRequestLength

指示ASP.NETがサポートする最大ファイルアップロードサイズ.
この制限は、ユーザがサーバに大量のファイルを渡すことによるサービス拒否攻撃を防止するために使用することができる.
指定したサイズはKB単位です.
デフォルト値は4096 KB(4 MB)です.
 
  
executionTimeout

指示はASP.NETが自動的にオフになるまで、実行要求の最大秒数を許可します.
単位は秒で、大きなファイルをアップロードするときにこれを大きくします.
サーバメモリ512 Mの場合、160 Mサイズのファイルをアップロードできます.(試したことがありませんが、csdn上の投稿の一致した意見です.)
ここまでconfigの設定はもう終わりました.
しかし、アップロードされたファイルのサイズがこの設定のファイルサイズ範囲を超えると、表示するページが現在使用できないというエラーが発生します.Webサイトで技術的な問題が発生したり、ブラウザの設定を調整する必要があります.
解决できないけど、それもこのミスをキャッチしよう!どうしようかな?このエラーはfileコントロールによるフロントエラーなので、バックグラウンドでtryを利用したいのですが...catchで捕獲するのは無理です.
そこで利用を思いついた.NETのエラーキャプチャページのメカニズムで処理します.いいですよ.
以下は引用の内容である:1、先にwebを設定する.config
 
  


2、新しいerror.aspxファイルは、エラーをキャプチャするために使用されます.
3、ファイルをアップロードしたaspxページのフロントページにpageコマンドを追加します.ErrorPage="UploadError.aspx"
4、error.aspxにいくつかのコードを追加して、エラー情報がfileによるフロントエラーであるかどうかを判断します.
 
  
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"," <br>alert('Upload file has failed ! File size is too large !')");
}
}
}