博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

实践ASP提交超长文章~

Posted on 2007-08-30 11:58  codingsilence  阅读(147)  评论(0)    收藏  举报

主要思想:
ASP的Request到的值只有102399字节,相当于5万多个汉字。sql text字段能存储的远远大于这个值。脚本(VBS/JS)的string也几乎是无限大(20亿)。只有request是瓶颈,所以可以分开提交长文章,主要是用javascript在客户端处理,让其值分在几个textarea中。在server上再将分开request的值拼在一起,提交到数据库。
参考代码:
client:

function dealwithbigdoc()
{
    var FormLimit = 102399;
    var totaldoc = new String;
    totaldoc = document.all.XXNR.value;
    if (totaldoc.length>FormLimit)
    {
        while (totaldoc.length>0)
        {
            var objxxnr = document.createElement("TEXTAREA");
            objxxnr.value = totaldoc.substr(0,FormLimit);
            document.thisfrm.appendChild(objxxnr);
            totaldoc = totaldoc.substr(FormLimit);
        }
    }
}

server:(JSript写的)

function myRequest()
{
    var xxnr="";
    for(i=1;i<=Request.Form("XXNR").Count;i++)
    {
        xxnr+=Request.Form("XXNR")(i);
    }
    xxnr = xxnr.toString();
    xxnr = xxnr.replace(/[/']/g,"''").replace(//n/g,"").replace(//r/g,"");
    //xxnr = Server.HTMLEncode(xxnr);
    return xxnr.toString();
}
 
评论列表
测试了40万字没有问题~
不过再多的最好改一下Server.ScriptTimeOut
流水男孩 @ 2004-12-30 23:23:03
IIS 6可以修改request的总大小