if (fileup.HasFile)
        {
            try
            {
                string path = Server.MapPath("./"); //当前路径
                path += fileup.FileName;
                if (File.Exists(path))
                {
                    lblUp.Text = "<font size='2' color='#8F8F8F'>服务器上已经有了你正在上传的文件 " + fileup.PostedFile.FileName+"</font>";
                }
                else
                {
                    fileup.SaveAs(path);
                    this.ClientScript.RegisterStartupScript(this.GetType(), "", "showSucc('文件上传成功!')", true);
                    lblUp.Text = "<font size='2' color='#8F8F8F'>File Name: " +
                        fileup.PostedFile.FileName + "<br>" +
                        fileup.PostedFile.ContentLength + "kb<br>" +
                        "Content Type: " +
                        fileup.PostedFile.ContentType + "</font>";
                }
            }
            catch (Exception ex)
            {
                lblUp.Text = "ERROR: " + ex.Message.ToString();
            }
        }
        else
        {
            lblUp.Text = "<font size='2' color='#8F8F8F'>您尚未选择你要上传的文件,或您要上传的文件已经不存在</font>";
        }这是文件的上传的代码,可是只要上传的文件超过4M页面就显示无法显示该页面,我上网查了很多解决方案,比如在什么WebConfig中配置maxRequestLength的值,可是这是行不通的。另外更改IIS中的一些设置,可是我认为这个方案也不合理,因为不可能要求每个客户都去更改IIS的。想请各位高手帮帮忙啊,需要代码解决啊。

解决方案 »

  1.   

    这是ASP.NET的安全限制,修改Web.config即可,有什么行不通的?例...
    <system.web>
      <httpRuntime executionTimeout="600" maxRequestLength="204800" />
    </system.web>
      

  2.   

    修改maxRequestLength必须同时修改executionTimeout,否则会因超时中断传输...
      

  3.   

    可我总不能让每个页面都进行这个配置吧,我只针对单个页面进行这样的配置啊
    <location path="FileUpDownPrj/web/Default.aspx">
    <system.web>
    <httpRuntime executionTimeout="90" maxRequestLength="10240" useFullyQualifiedRedirectUrl="false"
    minFreeThreads="8" minLocalRequestFreeThreads="4"  appRequestQueueLimit="100"/>
    </system.web>
    </location>
    为什么这样就不行呢
      

  4.   

    你上传的代码是在Default.aspx的代码文件里吗?
      

  5.   

    语法上没看出问题,你仔细检查一下代码...多测试几个文件,看看在超过多大size时会出问题...
      

  6.   

    4M是默认大小,说明你的配置没有起作用...确认你的Web.config的位置是正确的,path路径也是正确的...<location path="FileUpDownPrj/web/Default.aspx"> 确认你这个路径是正确的...
      

  7.   

    FileUpDownPrj这个文件是在桌面的,这个路径是这样的吗?
      

  8.   

    location的path必须是以Web应用程序根目录为起点的Web路径...
      

  9.   

    FileUpDownPrj这个文件是在桌面的,文件夹下就是Web应用程序啊,所以这个路径应该没什么问题吧,
      

  10.   

    顺便问个问题啊,我在下载文件时,如果下载的是服务器下文件中的文件该怎么办啊,例如,我要在web下建立一个文件Load,再在这个文件下新建一个记事本。现在我想下载这个记事本文件到我的客户端。如何操作啊,我每次获取其地址时,总是少了Load这个文件,所以总是报没有找到此文件
      

  11.   

    怎样获取在InputFile控件上的完整路径啊