要上传人员照片,同时还有很多其他信息,如姓名,性别,年龄等等,放在一个form中提交处理可以实现么?难道说form的<enctype="multipart/form-data">必须设置么 ,但是这样的话别的那些姓名什么的就获取不到了啊,各位大大帮忙,严重感谢!

解决方案 »

  1.   

    smartupload
    http://dev.csdn.net/develop/article/18/18987.shtm
      

  2.   

    上面的各位大哥 ,这样的话form里其他的属性 如 
    <input type=text name="username" value="NO1">
    <input type=text name="address" value="山东济南">
    如何获取啊 ?直接用request.getparameter("username")会出错啊 !
    最好能给个这样的例子,谢谢了!
      

  3.   

    你的页面应该简单一些,你可以把姓名,性别,年龄 这些信息都设成单行文本框就OK了,我的只有多行文本框获取不到内容,当行文本框可以。
    FileUpload组件下载地址:http://commons.apache.org/fileupload/Downloading
    Full Releases
    FileUpload 1.2.1 - 18 January 2008 Download the binary and source distributions from a mirror site here 
    下载后部署在下面这个位置:
    ..\服务目录\WEB-INF\lib  下。在JSP页面加入:<%@ page import="org.apache.commons.fileupload.*"%> 即可。说的这些好像有点多余了。hehe!~
      

  4.   

    上传页面可以简单的这样写:
    ...
    .....
    .......
    <form action="save.jsp"  enctype="multipart/form-data" method=post> 
    username:  
    <input name="cname" type="text" > 
    address: 
    <input name="webaddress" type="text" > 
    imgfile:(JPG &amp; GIF) 
    <input name="file" type="file" >
    <input name="Submit1" type="reset" value="重置">              
    <input name="Submit2" type="submit" value="提交"> 
    </form>
    .......
    ....
    ..处理页面参照4楼我写的内容。
      

  5.   

    tdy218大哥,可以把你的东西弄个例子给我么,看的有点晕乎,我加你QQ
      

  6.   

    用FileUpload不能获取下拉菜单的值,
    还有哪位大哥有办法啊,帮解决下 !
      

  7.   

    mySmartUpload.getRequest().getParameter("select");
    可以得到下拉菜单的值
      

  8.   

    Jarkata 项目本身就提供了fileupload 包http://jakarta.apache.org/commons/fileupload/ 
    用DiskFileUpload 也实现文件,文本解析。
     DiskFileUpload diskFileUpload = new DiskFileUpload();    
    // 允许文件最大长度    
    diskFileUpload.setSizeMax( 100*1024*1024 ); 
    // 设置内存缓冲大小    
    diskFileUpload.setSizeThreshold( 4096 );    
    // 设置临时目录    
    diskFileUpload.setRepositoryPath( "c:/tmp" );     
    List fileItems = diskFileUpload.parseRequest( request );    
    Iterator iter = fileItems.iterator();    
    for( ; iter.hasNext(); ) {        
    FileItem fileItem = (FileItem) iter.next();        
    if( fileItem.isFormField() ) {      //具体的 type类型可以更具需要加以判断      
    // 当前是一个表单项            
    out.println( "form field : " + fileItem.getFieldName() + ", " + fileItem.getString() );        } else {            
    // 当前是一个上传的文件            
    String fileName = fileItem.getName();            
    fileItem.write( new File("c:/uploads/"+fileName) );        
    }    
    }
      

  9.   

    enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
    enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。
    form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功。所以要用下面代码:SmartUpload su = new SmartUpload();//我用的SmartUpload组件su.getRequest().getParameterValues();取数组值su.getRequest().getParameter();取单个参数单个值
      

  10.   

    12楼的朋友,我用的FileUpload组件.一样可以获取单行文本框下拉菜单以及多行文本框的表单数据。
    方法:见4楼我写的.一样可以成功.就是Tomcat版本的问题.上午在老师的机器上已经测试成功了!~
    下午有课没空写了,晚上写出来,也给楼主看看。
    顺便再写篇文章放在我的博客里,有兴趣看的朋友注意下了。
      

  11.   

    request对象在Servlet的源程序(Java文件)中不存在。写在JavaBean也是这样。
    呵呵o(∩_∩)o...
    还是得放在JSP页面中request对象才有效。
    兄弟也试下吧!~把Tomcat版本换成5.0的。
    我发现5.0同5.5的、6.X 的有很多不同的用法。所以摒弃5.0的版本了。
    现在还得再用5.0的。郁闷!~
    好多资料以及部署的Servlet和xml也得移出去了!~
    真麻烦呀!~
      

  12.   

    兄弟该结贴了!~
    上传图片到指定的目录成功!~ 
    你输入的客户名为:谷歌网站 
    你输入的客户网站地址为:http://www.google.cn 
    你上传的图片的绝对路径是:G:\addRecord.jpg 
    你选择的客户类型是:企业类 
    对客户的描述信息是:一个大型的搜索网站。 
    对表中添加1条记录成功 
    基本上OK了!~环境:
    Tomcat6.0.16+MySQL5.1+mysql-connector-java-5.1.6-bin.jar+commons-fileupload-1.2.1.jar就是传到数据库中的数据是乱码!~兄弟上QQ,共同讨论一下。