我用的是jspSmartUpload组件,我的代码是这样:
<form name="form3" action="Image" ENCTYPE="multipart/form-data" method="post">
<table border="">
<tr>
<td>
标签号:
</td>
<td>
<input type="text" name="id" value="">
</td>
</tr>
<tr>
<td>上传图片:</td>
<td colspan="2">
<input name="imgfile" type="file" id="imgfile" size="40" onchange="viewmypic(showimg,this.form.imgfile);" />
<input type=hidden name="id1" value="">
<input name="button1" type="submit" value="上传">
</td>
</tr> </table>
</form>
我想把imgfile和id一起传到servlet中可是id=null.
我用了这样的方法 SmartUpload uploader=new SmartUpload();
String id =uploader.getRequest().getParameter("id");
可是还是不行!!!请老大们教我。
<form name="form3" action="Image" ENCTYPE="multipart/form-data" method="post">
<table border="">
<tr>
<td>
标签号:
</td>
<td>
<input type="text" name="id" value="">
</td>
</tr>
<tr>
<td>上传图片:</td>
<td colspan="2">
<input name="imgfile" type="file" id="imgfile" size="40" onchange="viewmypic(showimg,this.form.imgfile);" />
<input type=hidden name="id1" value="">
<input name="button1" type="submit" value="上传">
</td>
</tr> </table>
</form>
我想把imgfile和id一起传到servlet中可是id=null.
我用了这样的方法 SmartUpload uploader=new SmartUpload();
String id =uploader.getRequest().getParameter("id");
可是还是不行!!!请老大们教我。
我用的是FileUpload组件,和你遇到同样的问题,等待高手解答!
顶下
因为那个属性ENCTYPE="multipart/form-data"是不能接受字符流的
http://blog.csdn.net/thinker28754/archive/2007/05/26/1626844.aspx
我用的是JSP和SMARTUPLOAD上传组件,其他平台下还不知道
FileItem item = (FileItem)fileItems.get(0);
String title = item.getString();
op_code=requestSu.getParameter("op_code");
LZ能看懂不?
jspSmartUpload组件里可以得到一个Request对象
用这个对象就可以获得表单的参数
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
try {
request.setCharacterEncoding("GBK");
} catch (Exception e) {
e.printStackTrace();
}
DiskFileUpload fu = new DiskFileUpload();
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();
//取得表单提交的各个参数
FileItem item1 = (FileItem) fileItems.get(0);
FileItem item3 = (FileItem) fileItems.get(2);
FileItem item4 = (FileItem) fileItems.get(3);
FileItem item5 = (FileItem) fileItems.get(4);
String czrydm=item1.getString();
String taxid=item3.getString();
String msgtitle=item4.getString();
String message=item5.getString();
System.out.println("czrydm is:"+czrydm);
System.out.println("taxid is:"+taxid);
System.out.println("msgtitle is:"+msgtitle);
System.out.println("message is:"+message);
System.out.println("Msgid is:"+msg.getMsgid());
//取得并保存附件
String filePath = "";
String fileName = "";
while (iter.hasNext())
{
FileItem item = (FileItem) iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField())
{
String name = item.getName();//获取上传的文件名
long size = item.getSize();//获取上传的文件大小(字节为单位)
if ((name == null || name.equals("")) && size == 0)
continue;//跳到while检查条件
//以下为文件名处理,将上传的文件保存在项目所在目录下。
//获取文件名字符串的长度
int end = name.length();
//返回在此字符串中最右边出现的指定子字符串的索引。
int begin = name.lastIndexOf("\\");
int ext = name.lastIndexOf(".");
String savedname = name.substring(begin , ext)+"_"+Tool.GUID()+name.substring(ext , end);
File savedFile = new File("d:\\DATA",savedname);
item.write(savedFile);
//获取文件存放路径
filePath = "d:\\DATA\\" + savedname.substring(1);
fileName = name;
}
}
System.out.println("filePath is:"+filePath);
System.out.println("fileName is:"+fileName);
return false;
}
}