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

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

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

【 tulaoshi.com - ASP 】

 

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

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

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

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

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

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
%
 

 

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

延伸阅读
SUMMARY     To properly simulate a Form submission using WinInet, you need to send a header that indicates the proper Content-Type. For Forms, the proper Content-Type header is: Content-Type: application/x-www-form-urlencoded          MORE INFORMATION   &...
标签: SQLServer
  理主要是为防止非法登录者或非授权用户对SQL Server 数据库或数据造成破坏,但在有些情况下这种安全管理机制显得力不从心。例如合法用户不小心对数据库数据做了不正确的操作或者保存数据库文件的磁盘遭到损坏或者运行SQL Server 的服务器因某种不可预见 的事情而导致崩溃。所以我们需要提出另外的方案即数据库的备份和恢复来解决这...
底纹填充是随机生成的填充,可用来赋予对象自然的外观。CorelDRAW提供预设的底纹,而且每种底纹均有一组可以更改的选项。可以使用任一颜色模型或调色板中的颜色来自定义底纹填充。底纹填充只能包含RGB颜色,但是,可以使用其它颜色模型和调色板作为参考来选择颜色。底纹填充功能强大,可以增强图形的效果。但是,会增加文件大小以及延长打印时...
标签: PHP
场景一: A网站全站均为UTF-8编码,B网站全站为GB2312编码。 A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以收集提交上来的数据。 B网站此时开始提交数据,但提交上来的中文均为乱码 。 现象的产生是由于二个网站编码不一致而导致的,一般情况下使二个网站的编码一致即可。 如果无法统一编码该怎么办? FORM有一个a...
怎么在ispeak上K歌   第一步:混音的选择,点击头像或者频道下方的设置 第二步:然后点击按钮进入我的设置 第三步:选择好硬件或软件卡拉OK混音后点击频道聊天框下方开始一展歌喉吧

经验教程

842

收藏

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