处理 IIS 5 中无法 Request.Form 100K 数据的程序

作者:vkvi 来源:千一网络(原创) 日期:2010-2-3

Windows 2000 的 IIS,即 IIS 5 中,如果使用 ASP 的 Request.Form 取的数据超过 100K 就会出现“未知错误”,本文通过提交时分割数据来解决。

客户端 JS

    // 分块传送,避免 IIS 5 中 Request.Form 取超过 100K 的数据时出错
    var blockSize = 100000;
    while (content.length > blockSize)
    {
        var c = document.createElement("input");
        c.type = "hidden";
        c.name = "content";
        c.value = content.substr(0, blockSize);
        content = content.substr(blockSize);
       
        objForm.appendChild(c);
    }
    if (content.length > 0)
    {
        // 尾块处理
        var c = document.createElement("input");
        c.type = "hidden";
        c.name = "content";
        c.value = content;
       
        objForm.appendChild(c);
    }

服务器端处理

function RequestBlock(itemName)
    RequestBlock = ""
   
    dim i
    for i = 1 to Request.Form(itemName).count
        RequestBlock = RequestBlock & Request.Form(itemName)(i)
    next
end function

用 RequestBlock 来代替 Request.Form。

相关文章