jsp文件:
<form id="form1" method="post" action="upload.servlet" enctype="multipart/form-data">
<input type="file" name="file"/>
<input type="hidden" name="folder" value="/upload/temp/"/>
<input type="submit" value="提交"/>
</form>servlet代码:
System.out.println(request.getParameter("folder"));结果输出:
null后来我把级水平改了一下:
<form id="form1" method="post" action="upload.servlet">
<input type="file" name="file"/>
<input type="hidden" name="folder" value="/upload/temp/"/>
<input type="submit" value="提交"/>
</form>servlet不变,结果输出:
/upload/temp/这是怎么回事呢?求解释!!!!

解决方案 »

  1.   

    enctype=\"multipart/form-data\"是上传二进制数据; form里面的input的值以2进制的方式传过去。所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,
    可以使用其他的上传组件
      

  2.   

    我以前从不用<input type="file" name="file"/>这东东,都是用其他组件。
    最近维护到别人的项目,全是这玩意儿,而且都是没有进度条的,现在老总说太丑了,要加进度条。
    把我给折腾的蛋疼的一笔呀,
    fclxyz(心灵之火),帮我看看有什么快捷的办法没?谢谢了
      

  3.   

    enctype="multipart/form-data"> 封装了request
      

  4.   

    那要怎么才能取到那个param呢?
      

  5.   

     List fileItems = upload.parseRequest(request);   
                Iterator iter = fileItems.iterator();   
                while (iter.hasNext()) {   
                    FileItem item = (FileItem) iter.next();
                    item.getInputStream();
                    if (!item.isFormField()) {
                          //文件流
                    }else{
                           //非文件流 
                     String value=item.getString();
                        value = new String(value.getBytes("ISO-8859-1"),"UTF-8");
                       
                    }