大表单提交,里面有个上传图片,还有很多其他信息,提交后,服务器端接收不到其他表单信息,接到的都事空值,图片也没传上去。
等去掉上传的部分,提交表单,可以收到其他表单数据,
同样去掉其他表单数据,就留上传部分也同样能上传图片。
请高手指点

解决方案 »

  1.   

    SmartUpload su = new  SmartUpload();
    然后用su这个对象
    su.getRequest().getParameter("网页控件名称");
    取得表单中的值。
    用request是无法直接取得的
      

  2.   

    我上传图片那是这么写的
    SmartUpload su = new SmartUpload();
    su.initialize(pageContext);
    su.service(request, response);
    su.setTotalMaxFileSize(10000000);//设置上传最大限制
    su.setAllowedFilesList("jpg,swf,bmp,gif,png");//设置上传类型限制
    su.upload();
    File file = su.getFiles().getFile(0);
    ChuZu cz=new ChuZu();
    if(!file.isMissing()){
    cz.setIfp(1);//有图片
    Calendar c = Calendar.getInstance();//获取日期
    String dd = c.get(Calendar.YEAR) + "" + (c.get(Calendar.MONTH) + 1)
    + "" + c.get(Calendar.DATE) + "_"
    + String.valueOf(System.currentTimeMillis()).substring(8);//获取文件名
    String p1 = "/upload/chuzu/" + dd + "."
    + file.getFileExt();//生成上传全路径
    file.saveAs(p1, su.SAVE_VIRTUAL);
    cz.setPurl(p1);//图片路径
    }else{
    cz.setIfp(0);//是否有图片
    cz.setPurl("/upload/chuzu/nophoto.gif");//图片路径
    }//另存到相对路径
    //上传结束
      

  3.   

    1.检查form上传的类型
    2.检查是否是使用smartupload自带的request进行上传。
    3.注意上传的先后次序,在上传代码里,要先执行上传附件操作,然后再用su.getRequest().getParameter来取其他信息(好像是这样,几年不用这个组件啦)
      

  4.   

    检查一下你提交的action中是否同时有上传代码和处理表单中其他数据的代码
    操作正常的话 你所做的操作是可以同时进行的
      

  5.   


    su.getRequest().getParameter("网页控件名称");这句话就是取得表单值的操作。
    比方取得一个文本框的值<input type="text" name="name" value="20">
    int aa = Integer.ParseInt(su.getRequest().getParameter("name"));那么aa的值就是20了