当我用<input type=file id="fujian" runat=server>上传大于20M的文件时,就会出错,什么原因?

解决方案 »

  1.   

    1。ASP.NET默认的上传大小为4M,通过修改web.config里面的属性,可增大此数值.
    //身份验证节下插入即可
    <httpRuntime executionTimeout="90" maxRequestLength="102400" useFullyQualifiedRedirectUrl="false" 
       minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>
    修改其中的maxRequestLength值,即可放大你可上传文件的上限.一般而言,允许上传的文件大小,与你服务器内存大小有直接的关系.当你的服务器内存为2G时,那么,推算大致你的服务器所能上传的最大限度为600M.如果通过适当的修改其它的参数,那么此数值还能再进一步提高.2。我认为是IIS设置问题 IIS默认的上传文件最大为200k,需要改IIS的一个文件|:
     IIS 6 出于安全考虑, 默认最大请求200K(也即最大提交数据限额为200KByte, 204800Byte).   解决办法:   1. 关闭 IIS Admin Service 服务   2. 打开 \Windows\system32\inesrv\metabase.xml   3. 修改 ASPMaxRequestEntityAllowed 的值为自己需要的, 默认为 204800   4. 启动 IIS Admin Service   解决方法2 :  1. 新建文本文件: 'use VBS 
    set obj1=GetObject("winmgmts:/root/MicrosoftIISv2") 
    set obj2=obj1.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'") 
    'Output default value 
    WScript.Echo "AspMaxRequestEntityAllowed Default Value: " & obj2.AspMaxRequestEntityAllowed 
    'Reset the value 
    obj2.AspMaxRequestEntityAllowed=1024000 ' set to 1mbyte, u can set to other what you want :) 
    ' Save data 
    obj2.Put_() 
    'Output new value 
    WScript.Echo "AspMaxRequestEntityAllowed New Value: " & obj2.AspMaxRequestEntityAllowed   2. 保存为requestchange.vbs  3. 进入命令行, 运行: 
    cscript [path]requestchange.vbs 
      

  2.   


    Config是我做好的一个数据联接类库
    和你写联接语句一样
    Config obj = new Config(); private void Page_Load(object sender, System.EventArgs e)
    {
    string id =Request.QueryString["id"];
    SqlDataReader dr = obj.GetDataReader("SELECT zplx,zp FROM stu_new_zp WHERE kh = '"+ id + "'");
    if(dr.Read())
    {
    Response.ContentType = dr["zplx"].ToString();
    Response.BinaryWrite((byte[]) dr["zp"]);
    }
    dr.Close();
    obj.Close();
    }
      

  3.   

    http://blog.joycode.com/saucer/archive/2004/03/16/16225.aspx