multipart/form-data post 方法提交表单,后台获取不到数据

这个和servlet容器有关系,比如tomcat等。

1.get方式

get方式提交的话,表单项都保存在http header中,格式是

http://localhost:8080/hello.do?name1=value1&name2=value2这样的字符串。server端通过request.getParameter是可以取到值的。

2.post方式(enctype为缺省的application/x-www-form-urlencoded)

表单数据都保存在http的正文部分,格式类似于下面这样:用request.getParameter是可以取到数据的

name1=value1&name2=value2

3.post方式(enctype为multipart/form-data,多用于文件上传)

表单数据都保存在http的正文部分,各个表单项之间用boundary隔开。格式类似于下面这样:用request.getParameter是取不到数据的,这时需要通过request.getInputStream来取数据,不过取到的是个InputStream,所以无法直接获取指定的表单项(需要自己对取到的流进行解析,才能得到表单项以及上传的文件内容等信息)。这种需求属于比较共通的功能,所以有很多开源的组件可以直接利用。比如:apache的fileupload组件,smartupload等。通过这些开源的upload组件提供的API,就可以直接从request中取得指定的表单项了。

时间: 2024-10-21 09:46:47

multipart/form-data post 方法提交表单,后台获取不到数据的相关文章

django1.11如何用post方法提交表单

django为了帮助应对跨站脚本攻击,在以POST方法提交表单时,要求将其内置的CSRF中间件添加到setting.py的中间件设置中(django.middleware.csrf.CsrfViewMiddleware,默认已添加),并且在<form>标签后添加{% csrf_token %},即表单元素变为: <form action="" method="post">{% csrf_token %} 同时,表单提交对应的视图函数也要调用R

JAVA 提交form表单 后台获取不到参数及乱码问题

<form class="form-horizontal m-t" id="commentForm" method="post" enctype="multipart/form-data"> <div class="form-group"> <label class="col-sm-2 control-label" style="float:lef

ajax提交表单序列化(serialize())数据

知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演示ajax提交表单序列化数据. 表单内容: <form id="f1"> <label for="realname" >姓名:</label><input type="text" name="rea

KindEditor:Ajax提交表单时获取不到HTML内容

当用Ajax提交表单时,KindEditor的内容获取不到,HTML数据获取不了 原因:当ajax提交时,KindEdito的HTML数据还没有同步到表单中来,那怎么去获取HTML数据呢? --------------------------------------------------- KindEditor 4.x documentation:获取HTML数据 // 取得HTML内容html = editor.html(); // 同步数据后可以直接取得textarea的valueedit

jquery中$.ajax方法提交表单

function postdata(){                        //提交数据函数 $.ajax({                                //调用jquery的ajax方法 type: "POST",                       //设置ajax方法提交数据的形式 url: "ok.php",                      //把数据提交到ok.php data: "writer=

GET/POST 方法提交表单

下面一段地址 bing_search_rstudio_url = "http://cn.bing.com/search?q=rstudio&qs=AS&pq=rst&sc=8-3&sp=1&cvid=61252d92243847ca8025403c36db6f1c&FORM=QBLH" 表单参数提取(与浏览器客户端相关) names(getFormParams(bing_search_studio_url)) [1] "q&qu

form 无刷新页面提交表单

表单可实现无刷新页面提交,无需页面跳转,如下: 通过一个隐藏的iframe实现, form表单的target设置为iframe的name名称,form提交目标位当前页面iframe则不会刷新页面 <form action="/url.do" method="post" target="targetIfr"> <input type="text" name="name"/> </

使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]

当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据.假如表单中包含其他文本参数,如用户名username,用常规方式是无法获取post参数的,如: <html> <head> <meta http-equiv="Content-Type" content="text/html" chars

php中提交表单数据的POST()方法和GET()方法

提交获取表单数据是表单应用中最常用的操作,经常需要PHP后台从前台页面中获取用户在前台表单页面中提交的各种数据.表单数据传递的方式有以下的两种方法,一种为POST()方法,另外一种为GET()方法.具体采用哪种获取数据的方法是由<form>表单的 method 属性所指定的,下面讲解这两种方法在 Web 表单中的具体应用.大理石平台厂家 使用POST()方法提交表单 在使用POST()方法时,只需要将<form>表单中的属性 method 设置成POST即可. POST()方法不依