• 关于asp中的ADODB.Stream的BinaryRead读取文件大小的限制


    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

    在asp中上传文件,如果遇到文件很大的比如超过200K的文件,那么Request.BinaryRead的确有大小限制的,这点在 C:\WINDOWS\system32\inetsrv\MetaBase.xml这个配置文件中有个字段如下(我的系统是2003)AspMaxRequestEntityAllowed="204800"  
    通过这里我们可以看出文件上传是具有限制的,如果要实现文件Request.BinaryRead(Request.TotalBytes)肯定是不行的,所以就必须采用分块读取的方式.

    如:

    ReadedBytes=0
    ChunkBytes=1024*100 '100K分块上传方案

    Do   While   ReadedBytes   <   Request.TotalBytes  
    oUpFileStream.Write   Request.BinaryRead(ChunkBytes)   
    ReadedBytes   =   ReadedBytes   +   ChunkBytes  
    If   ReadedBytes   >   Request.TotalBytes   Then   ReadedBytes   =   Request.TotalBytes   
    Loop

    采用以上方式上传就不存在文件上传大小限制了,不过对于大的文件来说,还有文件超时现象,那么就必须Server中的超时了。

  • 相关阅读:
    [JSOI2008]巨额奖金(最小生成树计数)
    [HAOI2008] 糖果传递
    [SCOI2009]生日快乐
    BZOJ2821 作诗
    [HAOI2008]圆上的整点
    POJ1741
    AC自动机
    [JSOI2008]星球大战starwar
    二分图有关证明(感性版)
    初识Pentaho(一)
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912032.html
Copyright © 2020-2023  润新知