日期:2014-05-20  浏览次数:20815 次

关于ajaxfileupload在spring环境中的使用问题
代码如下:
后台使用的是spring基于注解的控制器
 
Java code

    @RequestMapping("/withdrawalupload")
    @ResponseBody
    public String withdrawalupload(HttpServletRequest request){
        DiskFileItemFactory factory=new DiskFileItemFactory();
        ServletFileUpload upload=new ServletFileUpload(factory);
      try {
        List<?> items=upload.parseRequest(request);
        System.out.println(items.isEmpty());
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
      return "";
       }


下页是页面的代码
 <!-- 图片上传-->
  <tr align="center">
  <td colspan="4" style="background-color:#FFF" >
  <table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-size:12px; line-height:32px">
  <tr>
  <td>退货图片上传:<input type="file" name="fileuploads" id="fileuploads"/>&nbsp;&nbsp;
  <input type="button" value="上传" onclick="ajaxfileupload()"/></td>
  <td>支持JPG,GIF,JEPG,PNG</td>
  <td><input type="hidden" name="page" value="3"></input>
  <input type="hidden" name="withdrawal_id" value="${om.withdrawal_id}"></input></td>
  </tr>
  </table>
  </td>
  </tr>


javascript的代码
function ajaxfileupload(){
$.ajaxFileUpload({
  url:'withdrawalupload',  
  secureuri:false,
  fileElementId:"fileuploads",  
  dataType: 'json',  
  success: function (data, status) {  
  alert("添加成功!");
  },
  error: function (data, status, e){
  alert("添加失败!");
  }
 });
}

javascript所需要的插件包已经导入,请求也发送到了后台,在后台控制器中 items的项一直是0(接收不到前台上传的文件)  


------解决方案--------------------
额。。。虽然遇到过items为0的情况,但我用了struts的,只能帮顶一下了。
------解决方案--------------------
楼主用的是spring MVC?
------解决方案--------------------
楼主,如果你没有自己写相关的实现,请问你spring-web包导进去没有
------解决方案--------------------
把action继承UploadAction 

或者直接用servlet
------解决方案--------------------
用mvc做上传时,form的类型设置成mutilfile吧,还有好像 是要注意类型
------解决方案--------------------
你这上传是为了无刷新吗,可以看看这个:http://blog.csdn.net/huxiweng/article/details/7272338
------解决方案--------------------
探讨
代码如下:
后台使用的是spring基于注解的控制器
Java code

@RequestMapping("/withdrawalupload")
@ResponseBody
public String withdrawalupload(HttpServletRequest request){
DiskFileItemFactory fac……