声明的窗体控制
System.Web.UI.HtmlControls.HtmlInputFile InputFile//得到文件的大小
 InputFile.PostedFile.ContentLength;
//得到上传文件的名称
fullPathFileName = InputFile.PostedFile.FileName;
fullPathFileName.Substring(fullPathFileName.LastIndexOf( @"\" )+ 1);
// 得到上传文件的类型( 例如:.jpg, .bmp, .doc )
// 得到上传文件文件的内容
//等等但是,问题是:
//System.Web.UI.HtmlControls.HtmlInputFile 它不能上传4MB以上的文件
//当你选择了一个4Mb以上的文件,
//再做其它操作时会出现该页无法显示的提示
//像无效链接一样//解决方法:
//在web.config中可以配置上传文件的最大值
//下面将maxRequestLength的值设为允许的上传文件最大值(kb)
// <configuration>
// <system.web>
// <httpRuntime maxRequestLength="8000" />
// </system.web> 
// </configuration> 
//上面的解决方法并没有从根本上解决问题,因为
//上传的文件大小只要大于maxRequestLength值一样会出现上面的问题不知还有没有更好的控制方法,还请高手不吝赐教。

解决方案 »

  1.   

    <httpRuntime maxRequestLength="1000000" />
    这样就很大了,总不能所有人在网络上上传上百M的吧,你说吧,不太现实吧。。你空间有时候也不允许嘛。。所以,这样就没有什么必要去注意这个问题嘛
      

  2.   

    在web.config是配置还不是好方法吗?
      

  3.   

    建议使用第三方的组件,如果在使用ASP.NET里面则可以使用实现IHttpModule接口的方式来分析HttpWorkerRequest对象,达到上传大附件的问题。也可以使用slickupload,这是一个开源的上传组件,支持百兆上传,并带进度条的有示例。
    详细信息请参考下面的网址:
    http://krystalware.com/blog/archive/2004/10/11/303.aspx
      

  4.   

    俺看看,先谢谢cuike519(marshal(修练中...))。
    分数少不了你的!
      

  5.   

    配置一下IIS的属性
    先在服务里关闭iis admin service服务
    找到windows\system32\inesrv\下的metabase.xml,
    打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K
    然后重启iis admin service服务把它修改为51200000(50M)
      

  6.   

    如果我把这个程序安装到其它的服务器上,还要不要修改这个IIS属性呢???