在文件上传页面的form里面“<form action=jsp1.jsp enctype="MULTIPART/FORM-DATA" method=post>”中的enctype是什么意思,加上这个在action或servlet、jsp页里不能用request.getParameter("")来获取其它form数据,为什么?删除enctype能用request.getParameter()方法来获取form其它数据,比如文本框“text”类型数据。? 高手请指点,非常感谢!
调试欢乐多
form默认是采用application/x-www-form-urlencode格式的,不能用于上传文件。
并且采用MULTIPART/FORM-DATA后,都是以二进制的格式上传的,所以request.getParameter()得不到数据。
SmarsUpload这个上传得组建作的功能比较强大,你可以用它来上传
但是必须设置enctype="MULTIPART/FORM-DATA" ,这样你用request得到的属性是null,这是因为smartUpload把你要上传的表单数据做了封装,你只要用它内置的request即可得到表单中其他的属性值.
到目前为止,smartUpload还没有解决上传文件的中文名字保存问题,不过已经有人解决,你可以到网上搜一下.
而且也建议你去使用那些组件。