使用commons-fileupload 后,
其表单中放了除“文件域”外的TEXT控件,在Servlet采用request.getParameter()得不到其值。
解决方法1:
用两个表单:
1.一个采用POST提交的文件上传的from
Html代码
<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>
<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,
Html代码
<FORM name="form2" action="" method="get">
<input type="text" name="name">
<input type="text" name="title">
</FORM>
<FORM name="form2" action="" method="get">
<input type="text" name="name">
<input type="text" name="title">
</FORM>
3.脚本取form2的值,并添到form1的url中。
Html代码
<SCRIPT>
function ok()
{
var name = form2.name.value;
var title= form2.title.value;
form1.action="FileUpload?name="+name+"&title="+title;
form1.submit();
}
</SCRIPT>
<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:
Java代码
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;
}
其表单中放了除“文件域”外的TEXT控件,在Servlet采用request.getParameter()得不到其值。
解决方法1:
用两个表单:
1.一个采用POST提交的文件上传的from
Html代码
<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>
<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,
Html代码
<FORM name="form2" action="" method="get">
<input type="text" name="name">
<input type="text" name="title">
</FORM>
<FORM name="form2" action="" method="get">
<input type="text" name="name">
<input type="text" name="title">
</FORM>
3.脚本取form2的值,并添到form1的url中。
Html代码
<SCRIPT>
function ok()
{
var name = form2.name.value;
var title= form2.title.value;
form1.action="FileUpload?name="+name+"&title="+title;
form1.submit();
}
</SCRIPT>
<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:
Java代码
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进行文件上传时,同时处理表单中的TEXT控件参数。通过创建两个独立的表单并使用JavaScript动态修改请求URL,实现了获取并传递额外的文本参数。
3733

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



