【问题标题】:Webpage expired page displays on Uploading a file using ASP Fileupload control使用 ASP Fileupload 控件上传文件时显示网页过期页面
【发布时间】:2011-05-23 13:50:30
【问题描述】:

我正在使用 ASP:FileUpload Control 上传 PDF 文件。我已经像这样在 Web.Config 中将上传文件大小限制为 1MB。

    <system.web>
    <httpRuntime  maxRequestLength="1024" executionTimeout="360"/>
    </system.web>

ASPX 代码

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"   Inherits="WebpageUpload.WebForm1" %>

    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="Ajax" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    <title></title>
    </head>
    <body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
    Normal File Upload...
    <asp:FileUpload ID="FileUpload1" runat="server" />
    <asp:Button ID="Button1" runat="server" Text="Clear" OnClick="Button1_Click" />
    </div>
    </form>
    </body>
    </html>

这里的主要问题是,当我上传超过 1 MB 的文件并单击清除按钮时,我收到“Internet Explorer 无法显示此网页。”

请查找图片以供参考..

提前谢谢...

【问题讨论】:

    标签: asp.net file-upload


    【解决方案1】:

    当您在 web.config 中设置该值时,您告诉 IIS 您将在该条件下异常。这意味着 YSOD。您需要捕获该异常并优雅地处理它,或者提高限制并手动检查它。遗憾的是,使用文件上传控件,无法在开始上传之前提前检查文件大小。

    【讨论】:

    • 嗨..感谢您的回复。我怎样才能捕捉到那个异常。是否需要进行任何配置更改。能否请您提供任何代码 sn-p 或有关如何实现的任何建议?
    • 这不是微不足道的,但看到这个线程:stackoverflow.com/questions/665453/…
    【解决方案2】:

    如果你想限制用户上传文件小于 1 MB,你必须在上传前输入以下条件并检查文件大小。

    if (FileUpload2.FileContent.Length > 1048576)
        {
             //File Size is greater than 1 MB
        }
    

    【讨论】:

    • 这个问题是 IIS 在达到限制之前不知道文件大小。我已经尝试了几次,但均未成功,并且文件大小不是请求的一部分,因此在上传完成或达到限制之前,您无法知道它有多大。
    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 2014-03-18
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-07
    相关资源
    最近更新 更多