论坛首页 Java企业应用论坛

使用fileupload的问题

浏览 3058 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-08-17  
在使用org.apache.commons.fileupload提交表单的时候
那些非文件的域有什么办法很好的处理吗?使得提交后的值不为空.我是这样做的,办法很笨.
if (!fi.isFormField()) {//首先把是文件的确部分处理
name = fi.getName();
  String suffix = name.substring(name.lastIndexOf("."), name.length());
   String fileName = String.valueOf(productsId).concat(suffix);
   String savePath = "c:\\test\\"; //上传文件的路径
  File f = new File(savePath + fileName);
      fi.write(f);
}else{//然后把非文件的部分一个一个的匹配

if(fi.getFieldName().equals("productsTime")){
      productsTime =new String(fi.getString().getBytes("ISO-8859-1"),"GBK")
......

}
有没有更好的办法呢?
   发表时间:2006-08-17  
比较省事点的办法是在页面上写点 js , 处理下form的onsubmit事件,把非文件域name和value拼一下,接到到form.action后面,后台可以直接用request.getParameter("...")
0 请登录后投票
   发表时间:2006-08-18  
myy 写道
比较省事点的办法是在页面上写点 js , 处理下form的onsubmit事件,把非文件域name和value拼一下,接到到form.action后面,后台可以直接用request.getParameter("...")


我有一点不是很明白,对于"把非文件域name和value拼一下,接到到form.action后面"不是很理解,能不能说的更详细点呢?
0 请登录后投票
   发表时间:2006-08-18  
<form name="fmUpFile" action="rcv.jsp" Method=....>
  <input type="file" ..../>
  <input type="text" ..../>
  <input type="text" ..../>
  <input type="text" ..../>
  <input type="button" onclick="doUpLoad();;"..../>
</form>

<script>
  function doUpLoad();
  {
    var p=[];
    for(var i=0; i<fmUpFile.elements.length; i++); {
      var e=fmUpFile.elements[i];
      //这里只简单的处理了输入框,
      //对于checkbox, radio...等要另行处理
      if(e.name && !e.disabled); {
        p[p.length] = e.name + "=" + e.value;
      }
    }
    if(p.length>0);
      fmUpFile.action = fmUpFile.action + "?" + p.join("&");;
    //提交
    fmUpFile.submit();;
  }
</script>
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics