主要思想:
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的總大小