你的页面应该简单一些,你可以把姓名,性别,年龄 这些信息都设成单行文本框就OK了,我的只有多行文本框获取不到内容,当行文本框可以。 FileUpload组件下载地址:http://commons.apache.org/fileupload/Downloading Full Releases FileUpload 1.2.1 - 18 January 2008 Download the binary and source distributions from a mirror site here 下载后部署在下面这个位置: ..\服务目录\WEB-INF\lib 下。在JSP页面加入:<%@ page import="org.apache.commons.fileupload.*"%> 即可。说的这些好像有点多余了。hehe!~
enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。 form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功。所以要用下面代码:SmartUpload su = new SmartUpload();//我用的SmartUpload组件su.getRequest().getParameterValues();取数组值su.getRequest().getParameter();取单个参数单个值
http://dev.csdn.net/develop/article/18/18987.shtm
<input type=text name="username" value="NO1">
<input type=text name="address" value="山东济南">
如何获取啊 ?直接用request.getparameter("username")会出错啊 !
最好能给个这样的例子,谢谢了!
FileUpload组件下载地址:http://commons.apache.org/fileupload/Downloading
Full Releases
FileUpload 1.2.1 - 18 January 2008 Download the binary and source distributions from a mirror site here 下载后部署在下面这个位置:
..\服务目录\WEB-INF\lib 下。在JSP页面加入:<%@ page import="org.apache.commons.fileupload.*"%> 即可。说的这些好像有点多余了。hehe!~
...
.....
.......
<form action="save.jsp" enctype="multipart/form-data" method=post>
username:
<input name="cname" type="text" >
address:
<input name="webaddress" type="text" >
imgfile:(JPG & GIF)
<input name="file" type="file" >
<input name="Submit1" type="reset" value="重置">
<input name="Submit2" type="submit" value="提交">
</form>
.......
....
..处理页面参照4楼我写的内容。
还有哪位大哥有办法啊,帮解决下 !
可以得到下拉菜单的值
用DiskFileUpload 也实现文件,文本解析。
DiskFileUpload diskFileUpload = new DiskFileUpload();
// 允许文件最大长度
diskFileUpload.setSizeMax( 100*1024*1024 );
// 设置内存缓冲大小
diskFileUpload.setSizeThreshold( 4096 );
// 设置临时目录
diskFileUpload.setRepositoryPath( "c:/tmp" );
List fileItems = diskFileUpload.parseRequest( request );
Iterator iter = fileItems.iterator();
for( ; iter.hasNext(); ) {
FileItem fileItem = (FileItem) iter.next();
if( fileItem.isFormField() ) { //具体的 type类型可以更具需要加以判断
// 当前是一个表单项
out.println( "form field : " + fileItem.getFieldName() + ", " + fileItem.getString() ); } else {
// 当前是一个上传的文件
String fileName = fileItem.getName();
fileItem.write( new File("c:/uploads/"+fileName) );
}
}
enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功。所以要用下面代码:SmartUpload su = new SmartUpload();//我用的SmartUpload组件su.getRequest().getParameterValues();取数组值su.getRequest().getParameter();取单个参数单个值
方法:见4楼我写的.一样可以成功.就是Tomcat版本的问题.上午在老师的机器上已经测试成功了!~
下午有课没空写了,晚上写出来,也给楼主看看。
顺便再写篇文章放在我的博客里,有兴趣看的朋友注意下了。
呵呵o(∩_∩)o...
还是得放在JSP页面中request对象才有效。
兄弟也试下吧!~把Tomcat版本换成5.0的。
我发现5.0同5.5的、6.X 的有很多不同的用法。所以摒弃5.0的版本了。
现在还得再用5.0的。郁闷!~
好多资料以及部署的Servlet和xml也得移出去了!~
真麻烦呀!~
上传图片到指定的目录成功!~
你输入的客户名为:谷歌网站
你输入的客户网站地址为:http://www.google.cn
你上传的图片的绝对路径是:G:\addRecord.jpg
你选择的客户类型是:企业类
对客户的描述信息是:一个大型的搜索网站。
对表中添加1条记录成功 基本上OK了!~环境:
Tomcat6.0.16+MySQL5.1+mysql-connector-java-5.1.6-bin.jar+commons-fileupload-1.2.1.jar就是传到数据库中的数据是乱码!~兄弟上QQ,共同讨论一下。