分析:
1.需上传文件,故在form表单中添加ENCTYPE="multipart/form-data"
2.需传递参数:学期
存在的问题:由于使用了ENCTYPE="multipart/form-data",故在下一个页面里面用request.getParameter("XX")是获取不到“学期”值的
问题处理过程:
1.一开始并不知道问题在于哪里,通过断点调试没找出原因,通过HttpAnalyzerStdV3跟踪分析,发现“学期”的值在第一个页面里是存在的,但是没post到下一个页面,下一个页面接收的值为null,反复分析排查后,才觉悟到问题出在ENCTYPE="multipart/form-data"上面
2.发现问题后,交给搜索引擎,发现网上早有人提过这样的问题了(但发现copy现象即为严重,很多人很不负责,自己没验证过就转帖了,望大哥大姐们验证一下,水贴不要乱贴 乱转),当然给出很多答案(正确与否就不想多说了)
3.小X SG一句话给了我灵感,这才意识到使用的是SmartUpload组件,故找到了对策
解决方法:由于是使用SmartUpload组件解决上传问题的,故使用SmartUpload组件的.getRequest().getParameter("XX")属性就可以获得“学期”的值了(当然一开始并没想到此方法,添加参数这一做法是后来加上去的),代码为:String XX=(String)mySmartUpload.getRequest().getParameter("XX");
PS:
若XX中含有中文时,则会出现乱码现象
处理方法如下:将提交页面的编码方式改为GBK,post后接收的页面的编码方式也改为GBK就OK了
<%@ page contentType="text/html; charset=GBK" language="java" errorPage=""%>
如果还要传递到下一个页面,可以这样解决乱码问题:编码方式可以采用gb2312,然后转一下码,代码如下:
String XX=request.getParameter("XX");
XX=new String(XX.getBytes("ISO8859_1"),"GB2312");
这样就OK了
分享到:
相关推荐
解决上传文件enctype= multipart/form-data 时无法传递其他参数的问题,以及项目全局编码问题。用的插件是commons io + commons fileupload
servlet上传 enctype="multipart/form-data" servlet上传 enctype="multipart/form-data
我们都知道要让form能提交文件,需要在form上指定enctype=multipart/form-data的attribute,这样才能上传文件,关于enctype的文章很多,就不再做解释。 问题是因为使用了MVC的Html.BeginForm()来输出表单代码,默认...
本文介绍了Node Js 使用KOA处理form-data格式传输过来的文件,分享给大家。...form表单【注意:enctype=”multipart/form-data”】上传文件时,首先会将文件上传到你本机的temp目录,然后执行move_upload_file
阿贾克斯形式这是一个js事件监听器,可让您以最简单的方式使用ajax提交任何表单。 只需将类“ .ajax_form”添加到您的表单中,瞧,您的表单将开始... 只需将常规enctype =“ multipart / form-data”包含在表单元素中
控件,form 表单需要设置 enctype=”multipart/form-data” 属性。比如: <body> <form action=UploadFile.php method=post enctype=multipart/form-data> <input type=file name=fileUpload /&...
穆特尔 Multer是用于处理multipart/form-data的node.js中间件,主要用于上传文件。 它是在之上编写的,以实现最大效率。 注意:Multer将不处理任何非多multipart/form-data ( multipart/form-data )。翻译该自述...
另外,还需要增加上传的属性enctype= “multipart/form-data”,该属性说明浏览器可以提供文件上传功能。 2.编写处理表单提交的PHP脚本 当用户通过上传表单选择一个文件并提交后,PHP会自动生成一个$_FILES的二维...
form id="form1" runat="server" action="UserManageHandler.ashx" method="post" enctype="multipart/form-data"> 名称: <input type="text" name="uname" class="uname" /> 邮件: <input ...
另外,还需要增加上传的属性enctype= “multipart/form-data”,该属性说明浏览器可以提供文件上传功能。 2.编写处理表单提交的PHP脚本 当用户通过上传表单选择一个文件并提交后,PHP会自动生成一个$_FILES的二维...
本文实例讲述了Django框架文件上传与自定义图片上传路径、上传文件名操作。分享给大家供大家参考,具体如下: ...method=post enctype=multipart/form-data> 文件数据存储在request.FILES属性中 文件上传必须使用P
php文件上传原理是通过form表单的enctype=”multipart/form-data”属性将文件临时放到wamp文件夹中的tmp目录下,再通过后台php程序将文件保存在体统中。 html代码: <form action=shangchuan....
当表单需要上传文件时,需指定表单 enctype 的值为 multipart/form-data 在 form 元素的语法中,enctype 属性指定将数据发送到服务器时浏览器使用的编码类型。 enctype 属性取值: application/x-...
该库提供了一种用于存储多部分/表单数据数据的类型,因为formdata文档位于...通常在表单具有文件上载输入字段时使用此enctype,因为默认的application / x-www-form-urlencoded无法处理文件上载。 he
commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前后台的一致性,注意在后台定义File文件对象名要与jsp页面中的file标签name名字一致,前台form标签属性一定要设置为enctype="multipart/form-data",而且...
form表单的多文件上传,具体内容如下 formData对象可以使用一系列的键值对来模拟一个完整的表单,然后使用Ajax来发送这个表单 使用<form>表单初始化FormData对象的方式上传文件 <!--文件上传--> <...
1、FORM标签enctype属性表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能...
上传图片使用了表单提交, 下面是html部分, enctype=”multipart/form-data”表示不对字节进行编码,上传文件类型时需指定. input标签的 type=”file” 指定上传类型. <form action="/" enctype="multipart/form-...
二:文件上传的表单提交方式必须是POST方式, 编码类型:enctype=”multipart/form-data”,默认是 application/x-www-form-urlencoded 比如: <form action="FileUpLoad"enctype="multipart/form-dat
为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置了enctype为multipart/form-data,...