VS2003的例子,如果上传文件超过限制,出错
<%@ Page Language="C#" AutoEventWireup="True" %><html>
 <head>
 
    <script language="C#" runat="server">
 
       void Button1_Click(object Source, EventArgs e) 
       {
 
          if (Text1.Value == "") 
          {
             Span1.InnerHtml = "Error: you must enter a file name";
             return;
          }
 
          if (File1.PostedFile != null) 
          {
             try
             {
                File1.PostedFile.SaveAs("c:\\temp\\"+Text1.Value);
                Span1.InnerHtml = "File uploaded successfully to <b>c:\\temp\\" + 
                                  Text1.Value + "</b> on the Web server";
             }
             catch (Exception exc) 
             {
                Span1.InnerHtml = "Error saving file <b>c:\\temp\\" + 
                                  Text1.Value + "</b><br>" + exc.ToString();
             }
          }
       }
 
    </script>
 
 </head>
 <body>
 
    <h3>HtmlInputFile Sample</h3>
 
    <form enctype="multipart/form-data" runat="server">
 
       Select File to Upload: 
       <input id="File1" 
              type="file" 
              runat="server">
 
       <p>
       Save as filename (no path): 
       <input id="Text1" 
              type="text" 
              runat="server">
 
       <p>
       <span id=Span1 
             style="font: 8pt verdana;" 
             runat="server" />
 
       <p>
       <input type=button 
              id="Button1" 
              value="Upload" 
              OnServerClick="Button1_Click" 
              runat="server">
 
    </form>
 
 </body>
 </html>

解决方案 »

  1.   

    我加了判断
             if( file.PostedFile.ContentLength > 1024*1024 )
             {
    Span1.InnerHtml = "Error: file too large!!!!!";
    return;
             }
    但是仍然如此!
      

  2.   

    你要在上传之前,在客户端那边判断,,而不是等你到了服务器那边,,让服务器去判断,,
    其实是你一个申明了这个POSTEDFILE,说明你在服务器端已经接受了这个请求,,那你还做什么哦,,,
    嘿嘿
      

  3.   

    可以在GOOGLE上搜索“大文件上传”这个关键字的文章。
    假设用户传了几个G的文件,传到一半就会出错。而且服务器的资源暂用非常高。
    高手们用HttpModule解决了这个问题。