我做图片上传,在from表单中加入enctype="multipart/form-data" 这个之后,有时在action里面得不值下拉框的值,去掉那个之后就可以得到,怎么解决啊?
有没有 commons-fileupload 相关jar包?
把代码贴上来
你用的是struts几?
有的版本的struts在处理同时存在文件流与普通数据流的form提交时,会出现你那样的问题。
你可以考虑文件与其他数据分开传输,或者换个版本。
如果没有使用struts,把下拉框放到这个from表单下
你在action中如何获取参数? 通过request.getParameter()是拿不到的,如果通过框架注入是可以的。这里有个例子: http://www.blogjava.net/max/archive/2007/03/21/105124.html
用 firebug调试一下,看一下网络请求 有没有 post数据过去.
select的标签只要在form里面,去后台取值
[code="java"]
Iterator iter = fileItems.iterator();
// 依次处理每个表单域
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if(item.isFormField()){
// 如果item是正常的表单域
String name = item.getFieldName();
String value = item.getString();
//这两个应该就是能取到select中的值了
System.out.print("表单域名为:"+name+"表单域值为:"+value);
}
[/code]
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
su.setCharset("UTF-8");
PrintWriter out = response.getWriter();
String fileName = null;
try {
su.upload();
} catch (SmartUploadException e) {
e.printStackTrace();
}
String nickName = su.getRequest().getParameter("name");
用SmartUpload对象去获得完美....
可以试试把select值加到url中提交到后台。