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

转载 2004年07月18日 21:50:00

当表单发送的数据量很大时,就会报错。查阅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

表单提交Post方法、Get方法背后的秘密

(转载)http://blog.csdn.net/wzwenhuan/article/details/7803510 表单大家都很熟悉,上网的时候经常会遇到表单 ...
  • u010746364
  • u010746364
  • 2016年11月25日 14:53
  • 6194

restlet中如何获取post方式提交的表单值

1.建立工程,项目结构如下: 2.编写资源超处理类:(FirstServerResource.java) FirstServerResource.java代码如下: package test; ...
  • u012875880
  • u012875880
  • 2013年11月23日 16:52
  • 2648

gulp不完全入门教程

引言 gulp 是基于 Nodejs 的自动任务运行器,能自动化地完成javascript/coffee/sass/less/html/image/css等文件的的测试、检查、合并、压缩、格式化、浏...
  • u013063153
  • u013063153
  • 2016年09月03日 17:09
  • 321

form 表的post提交,其中一个超多数据的input标签在后台获取数据被截断的解决方法

在开发中发现一个bug,前台提交的数据到后台获取的时候被截断了,前台代码 我用js给input标签赋值,这个值长度很长很长(如:一段超长的html代码),$("input...
  • shzy1988
  • shzy1988
  • 2016年02月26日 11:55
  • 2921

通过HttpURLConnection模拟post表单提交

package junit; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; ...
  • hechurui
  • hechurui
  • 2016年01月04日 19:56
  • 5056

通过HttpURLConnection模拟post表单提交

import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import org.juni...
  • AlbertFly
  • AlbertFly
  • 2016年06月02日 19:04
  • 894

Jersey处理表单Post信息

目的:仅仅使用Jersey将页面表单中的数据
  • wow4464
  • wow4464
  • 2014年04月25日 14:47
  • 2811

PhpStorm导致php表单提交时获取不到post数据

开发工具: 【XAMPP、PhpStorm2016.3.3、phpmyadmin】 问题描述: (1)php语言编写个人资料设置的图片上传功能时,发现使用post请求方式获取不到数据; (2)测...
  • apple_wheat
  • apple_wheat
  • 2017年06月08日 22:18
  • 743

C++实现申请帐号---发送post提交表单信息包

交流学习!
  • lanzhihui_10086
  • lanzhihui_10086
  • 2014年11月14日 15:57
  • 1563

curl 命令提交post表单

POST (HTTP)It’s easy to post data using curl. This is done using the -d option. The post data m...
  • sinat_29173167
  • sinat_29173167
  • 2017年02月26日 21:45
  • 1552
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Form域中Post大于100K的数据
举报原因:
原因补充:

(最多只允许输入30个字)