当前位置: 首页 > 图文教程 > 网络编程 > ASP > 怎样传送更多的数据在表单中

ASP
自动清空站点目录下所有文件
ASPEMAIL通过Mdaemon的SMTP发信-recipient unknow处理办法
使用split分割多字符的字符串的方法
ASP调用oracle存储过程
ASP访问INTERBASE数据库
利用Session限制重复操作的简单方法
一个socket组件及其调用方法
ASP模仿asp.net的DataGrid
利用ASP技术实现文件直接上传功能
微软建议的ASP性能优化28条守则
温柔的杀手—跨站ASP Script攻击
aspjpeg组件高级使用方法介绍
asp+sqlserver 分页方法(不用存储过程)
Windows 2003上传文件不能超过200k解决方法
一个比较实用的asp函数集合类
WebClasses使注册变得容易
ASP对FoxPro自由表(DBF文件)的操作
HTTP_REFERER的工作方式
抓取动网论坛Email地址的一段代码
ASP+FSO+框架实现ASP生成htm并分页的方法(批量)

ASP 中的 怎样传送更多的数据在表单中


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 43 ::
收藏到网摘: n/a

  request对象限制102,399 bytes..
When you post a large form field, you may receive the following error message:

Error Type:
Request object, ASP 0107 (0x80004005)
The data being processed is over the allowed limit.

In Microsoft Internet Information Server (IIS) 4.0, you may receive the following error message:
Request object error 'ASP 0107 : 80004005'
Stack Overflow
/projectname/page.asp, line XX
The data being processed is over the allowed limit.


CAUSE
The size limit of each form field that is retrieved in the Request object is 102,399 bytes. The error
occurs when you exceed this limit.


RESOLUTION
To resolve this problem, use one of the following methods:

Instead of reading form variable values with the Request.Form collection, use Request.BinaryRead
(Request.TotalBytes), and parse the form values from the output of Request.BinaryRead.


Use a File Upload scheme, such as Microsoft Posting Acceptor.


Break the HTML form variables into multiple form variables before you submit the form. The 102,399 byte
limit is for each form variable, so you can have multiple form variables of 102,399 characters or less.
The following sample code illustrates this:
WARNING: ANY USE BY YOU OF THE CODE PROVIDED IN THIS ARTICLE IS AT YOUR OWN RISK. Microsoft provides this
code "as is" without warranty of any kind, either express or implied, including but not limited to the
implied warranties of merchantability and/or fitness for a particular purpose.

<FORM method=post action=LargePost.asp name=theForm onsubmit="BreakItUp()">
<Textarea rows=3 cols=100 name=BigTextArea>A bunch of text...</Textarea>
<input type=submit value=go>
</form>

<SCRIPT Language=JavaScript>
function BreakItUp()
{
//Set the limit for field size.
var FormLimit = 102399

//Get the value of the large input object.
var TempVar = new String
TempVar = document.theForm.BigTextArea.value

//If the length of the object is greater than the limit, break it
//into multiple objects.
if (TempVar.length > FormLimit)
{
document.theForm.BigTextArea.value = TempVar.substr(0, FormLimit)
TempVar = TempVar.substr(FormLimit)

while (TempVar.length > 0)
{
var objTEXTAREA = document.createElement("TEXTAREA")
objTEXTAREA.name = "BigTextArea"
objTEXTAREA.value = TempVar.substr(0, FormLimit)
document.theForm.appendChild(objTEXTAREA)

TempVar = TempVar.substr(FormLimit)
}
}
}
</SCRIPT>
The receiving Active Server Page (ASP) page reconstructs the variable:
<%
Dim BigTextArea

For I = 1 To Request.Form("BigTextArea").Count
BigTextArea = BigTextArea & Request.Form("BigTextArea")(I)
Next
%>