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

2016-01-29 18:47 31 1 收藏

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

【 tulaoshi.com - ASP 】

 

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

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

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

<FORM method=post action=LargePost.asp name=theForm onsubmit="BreakItUp()"
<Textarea rows=3 cols=100 name=BigTextAreaA 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
%
 

 

来源:http://www.tulaoshi.com/n/20160129/1507263.html

延伸阅读
标签: excel
怎Tulaoshi.com样在Excel中只显示大于10的数字?   今天我们来学习一下Excel中一个小技巧,在Excel设置只显示大雨10的数字,你知道如何操作码?如果不懂就一起来学习一下操作技巧吧。 怎样在Excel中只显示大于10的数字? 如下图所示,B列是数字,字母混杂的内容。要求只显示大于10的数字,其他的都隐藏起来。 操作步...
标签: PHP
场景一: A网站全站均为UTF-8编码,B网站全站为GB2312编码。 A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以收集提交上来的数据。 B网站此时开始提交数据,但提交上来的中文均为乱码 。 现象的产生是由于二个网站编码不一致而导致的,一般情况下使二个网站的编码一致即可。 如果无法统一编码该怎么办? FORM有一个a...
底纹填充是随机生成的填充,可用来赋予对象自然的外观。CorelDRAW提供预设的底纹,而且每种底纹均有一组可以更改的选项。可以使用任一颜色模型或调色板中的颜色来自定义底纹填充。底纹填充只能包含RGB颜色,但是,可以使用其它颜色模型和调色板作为参考来选择颜色。底纹填充功能强大,可以增强图形的效果。但是,会增加文件大小以及延长打印时...
使用过DELPHI的朋友都会注意到DELPHI本身最上面的窗口, 当它极大时只占屏幕的一小部分,它是如何实现的呢,请看下面的说明: 1)在FORM私有声明部分加上如下一行: procedureMessage :TWMGetMinMaxInfo ); message WM_GETMINMAXINFO; WMGetMinMaxInfo( var 2)在声明部分加上如下几行: procedure TForm1.WMG...
标签: Web开发
代码如下: ?php // signup.php // demonstrates a simple multipage form using xajax // and the xajax.getFormValues() function. // using xajax version 0.1 beta4 // http://xajax.sourceforge.net session_start(); include ("xajax.inc.php"); function processForm($aFormValues) {         if (a...

经验教程

280

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部