使用commons-fileupload 后,
其表单中放了除“文件域”外的TEXT控件,在Servlet采用request.getParameter()得不到其值。
解决方法1:
用两个表单:
1.一个采用POST提交的文件上传的from
2.对该上传文件描述的form,
3.脚本取form2的值,并添到form1的url中。
解决方法2:
得到request:
其表单中放了除“文件域”外的TEXT控件,在Servlet采用request.getParameter()得不到其值。
解决方法1:
用两个表单:
1.一个采用POST提交的文件上传的from
<form action="FileUpload" method="post"
enctype="multipart/form-data" name="form1">
<input type="file" name="file">
<input type="button" name="Submit" value="upload" onclick="ok()">
</form>2.对该上传文件描述的form,
<FORM name="form2" action="" method="get">
<input type="text" name="name">
<input type="text" name="title">
</FORM>3.脚本取form2的值,并添到form1的url中。
<SCRIPT>
function ok()
{
var name = form2.name.value;
var title= form2.title.value;
form1.action="FileUpload?name="+name+"&title="+title;
form1.submit();
}
</SCRIPT>解决方法2:
得到request:
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List items = upload.parseRequest(request);
for (Iterator i = items.iterator(); i.hasNext();) {
FileItem fileItem = (FileItem) i.next();
String field = fileItem.getFieldName();
if(field.equals("kind")){
kind = fileItem.getString();
continue;
}else if(field.equals("id")){
id = fileItem.getString();
continue;
}else if(field.equals("topic")){
topic = fileItem.getString();
continue;
}
本文介绍了解决使用commons-fileupload进行文件上传时,无法通过request.getParameter()获取TEXT控件值的问题。提供了两种解决方案:一是使用两个表单分别处理文件上传和其他表单数据;二是直接解析上传请求来获取所有表单字段。
4589

被折叠的 条评论
为什么被折叠?



