2008年12月04日

ASP.NET ファイルをアップロードしたら、ランタイムエラーが発生して、アップロードできない。

 ASP.NETでファイルをサーバ側にアップロードさせる方法は、「ASP.NET ファイルをアップロードする。」でも書きましたとおりです。

 しかし、ファイルをアップロードさせたところ、ランタイムエラーが発生してアップロードできないことがあります。

 サーバ上のイベントビューワを確認したら、「サイズが許可されている制限を越えました」といった内容のエラーが表示されています。

 ASP.NETでのファイルの転送に関しては、ファイルのサイズがデフォルトで4MB以下と制限されているためです。

 実際、4MBを超えるファイルの転送は、Webでは非常に大きなサイズのファイルといえるでしょう。
 しかし、ローカルで使用するような場合ですと、4MB程度のファイルはさほど大きなものと感じないのではないでしょうか。

 パワーポイントなどで作成したプレゼン資料などであれば、直ぐに4MBを超えてしまうでしょう。
 作成文書管理システムのようなアプリを、WEBでASP.NETで作成した場合、やはり4MBの制限はちょっと厳しいのではないでしょうか。

 では、4MBを超えるファイルをアップロードする方法はどうすればいいのでしょうか。。。。。

>>>




無料ホームページサービス「デジデジ」

>>>
 検索しても、なかなかでてこないのですが、何とか探し当てたマイクロソフトの説明がありました。

 ASP.NETにて、4MBよりも大きなファイルをアップロードするには、Web.config ファイルの <httpRuntime> セクションの maxRequestLength パラメータを変更する必要があります。

Visual Basic .NET を使用して ASP.NET の Web サーバーにファイルをアップロードする方法

 私の構成の仕方が悪かったのか、何かかけているのか分かりませんが、私が作成したASP.NETのWEBアプリでは、Web.configファイルは見つかるものの、その中の<httpRuntime> セクションを見つけることが出来ません。

 で、私が解決させた方法は、Web.configファイルに以下を追加しました。
 ちなみに6MBまでのファイルサイズ制限に変更しています。
==================================================
<httpRuntime
executionTimeout="90"
maxRequestLength="6144"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
/>
==================================================

 Web.configファイルに上記を追加したところ、5MB以上のファイルをきちんとアップロードすることが出来ました。

 もしWebアプリケーションをインターネットに公開するのならば、4MB以上のファイルをアップロードさせるのは、現実的ではないかもしれません。
 ですので、上記内容で4MBの壁を取っ払ったとしても、使用にはくれぐれもご注意ください。



この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。