2

web.configこれをファイルに追加しました:

<httpRuntime maxRequestLength="40960"/> <!-- Limit to 40 megabytes -->

そして、40メガバイトを超えるものをアップロードしようとすると、Firefoxで次のようになります。

The connection was reset

The connection to the server was reset while the page was loading.

  * The site could be temporarily unavailable or too busy. Try again in a few
    moments.
  * If you are unable to load any pages, check your computer's network
    connection.
  * If your computer or network is protected by a firewall or proxy, make sure
    that Firefox is permitted to access the Web.

この組み込みのファイルサイズ制限の恩恵を受けるが、実際には素晴らしいエラーページを表示する方法はありますか?もちろん、コントローラーでこのチェックを行うこともできますが、その時点で、巨大なファイルがサーバーに到達したため、トラフィックはすでに消費されています。

if (image.ContentLength > 40960) // 'image' is HttpPostedFileBase

助言がありますか?

4

1 に答える 1

3

global.asax.csでこれはどうですか?

void Application_Error(object sender, EventArgs e)
{
    if (Request.TotalBytes > 40960 * 1024)
    {
        Server.ClearError();
        Response.Clear();
        Response.Write("File uploaded is greater than 40 MB");
    }

}
于 2012-10-11T03:46:39.123 に答える