在Form域中Post大于100K的数据

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

当表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据有限制,IIS4中为80K字节,IIS5中为100K字节。

  下面是微软提供的几个解决方法:

1、用Request.BinaryRead 代替 Request.Form方法 来解析表单数据;

2、使用文件上传方案,比如:Microsoft Posting Acceptor;

3、由于102399字节的限制是对每个表单元素的,所以在提交时,把表单元素内容大于102399的分隔成多个表单元素来提交。

下面为示例代码:(微软提醒:下面代码不一定完全适用特定的需要,不对使用这些代码产生的后果负责!)

<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.
  //如果内容有中文的字符的话,可以设置为:51100
  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>
      
 

接受数据页主要代码: 

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

来源:www.skyec.com    添加时间:2004-6-3 16:19:03
Form中的Get方法可传递的字符串的最大长度是少? 曾经听某人介绍,如果使用GET方式传输参数,URL的最大长度是256个字节,对此深信不疑.但是最近看到一些超长的url,能够在IE下工作,复制下来测算了一下长度,大概是650个字节,这个长度远远超过了256个字节.这时候对以前的说法不由得有些怀疑—-用各大搜索引擎翻了个遍,最后找到最权威的解释—-Maximum URL length is 2,083 characters in Internet 阅读详情

相关推荐

关于http get和form表单post提交数据大小限制

之前我去面试,面试的人问了我些问题,其中令我印象深刻的就是如题的两个,回来后特意去查找了一下,关于http get提交数据上限,之前只知道数据上限差不是几kb大小,具体为什么却没有了解httpget是通过url来传递数据,url不存在上限的问题,http协议也没有对utl长度做出限制,但是浏览器以及web服务器会对url长度做出限制,这个长度大小因浏览器以及服务器的不同而不同,一般在几kb之内。关

武凯凯 2万+

实现Form表单Post大于100K的数据

在工作中遇到一个问题,当表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据有限制,IIS4中为80K字节,IIS5中为100K字节,目前还不清楚iis6.0有没有这样的限制或者限制是少K。下面是微软提供的几个解决方法:1、用Request.BinaryRead 代替 Request.Form方法 来解析表单数据;Request

做最好的自己 3625

form表单 post提交 数据量大的问题

问题:页面1提交之后,如果数据量太大,页面2获取不到,获取到的值为null 解决方法: POST传递没问题。 在tomcat里面设置server.xml <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxPostSize="2000000"/>

beinlife的博客 1万+

ASP:如何在FormPost大于100K字节的数据

ASP:如何在FormPost大于100K字节的数据如何在FormPost大于100K字节的数据????  以前在工作中遇到一个问题,当表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据限制为100K字节。微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行

guoweidong的专栏 1023

实现formpost大于100K的数据的解决方案

表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据有限制,IIS4中为80K字节,IIS5中为100K字节。  下面是微软提供的几个解决方法:  1、用Request.BinaryRead 代替 Request.Form方法 来解析表单数据;  2、使用文件上传方案,比如:Microsoft Posting Accepto

Mobidogs Blog 1472

Post数据被截断

原因: Form POST 提交数据 100K(可能不是这个值) 限制的解决方案 因为微软这个限制是对表单内每个(第一个控件)的限制。问题的解决办法是,对于一个需要发送大数据,在提交表单前将数据拆分为小于限额的数份,分别放在数个 hidden 中,同时把原有清空,再正式提交表单。服务器端还是用 Request.Form() 读取各 hidden 的数...

1590

Form中用Post提交容量大的数据

参考: Form中用Post提交容量大的数据 http://www.51cto.com 2005-09-14 18:05 出处:PConline  

Our Generation======>>我们 中生代 775

Form中用Post提交容量大的数据(ASP)

有一个问题,当表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据限制为128K字节。   微软建议用Request.BinaryRead()读取表单数据,但由于这种方法读出的是二进制数据,需要对读出的数据逐字节进行分析,生成有意义的字符串(MSDN上的一段程序就是这样写的,但它并没有考虑诸如标点符号等转义字符需要进行特殊分析)。如果

酷狗⊙_⊙刀刀的专栏 1141

httpClient的post方法使用form格式数据调用接口

httpClient的post方法使用form格式数据调用接口

航仔的博客 2233

form提交方式Get与Post详解

form作为Html的一个元素,它就是为了客户端提交数据而产生的,它有两个很重要的属性action和method,action属性指明了处理提交的数据的应用程序的URL,而method有两个值:POST,GET,因为浏览器提交数据总是使用HTTP(也有使用HTTPS)协议,而 POST,GET则是HTTP协议传输数据的方式,所以method指明了传输数据的方式,对于一个新的Page所生...

yangzhihong650的博客 1575
上一篇: 浅谈ASP编程的思路与纠错 作者:胡洪祥
下一篇: ASP函数详解
qunluo
博客等级 码龄24年 12粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值