善哉尚在 2015-12-28 01:13 采纳率: 75%
浏览 2378
已采纳

用plupload上传图片,和struts2结合,怎么获取上传成功后action返回的数据

也就是在plupload中怎么获取后台传过来的数据,是json数据,再简单点说,怎么写
plupload中的回调函数

  • 写回答

1条回答 默认 最新

  • 永远TeRny 2016-01-04 07:51
    关注

    //使用AJAX上传文件,支持多文件上传,已与Plupload2.1.2插件测试通过
    @RequestMapping("/ajaxLoadFile")
    @ResponseBody
    public Object ajaxLoadFile(HttpServletRequest req,HttpServletResponse res) throws IllegalStateException, IOException{
    CommonsMultipartResolver cmr = new CommonsMultipartResolver(req.getSession().getServletContext());
    Map hm = new HashMap();
    //request中是否是Multipart类型数据,如果不是就不处理,是的话就转化成SPRINGMVC中的Mulitipart Request
    if(cmr.isMultipart(req)){
    MultipartHttpServletRequest mreq = (MultipartHttpServletRequest)req;
    //迭代所有文件
    Iterator it = mreq.getFileNames();
    while(it.hasNext()){
    //使用SpringMVC中的FILE
    MultipartFile file = mreq.getFile(it.next());
    if(!file.isEmpty()){
    System.out.println(file.getOriginalFilename());
    String fileName = "Upload_"+file.getOriginalFilename();
    String path = "D:/" + fileName;

                    File localFile = new File(path);
                    //使用SpringMVC中的Multipart File来存储文件
                    file.transferTo(localFile);
                    hm.put("msg", file.getOriginalFilename()+"上传成功!");
                }
            }
        }
        return hm;
    }
    
    这个是SPRINGMVC的,和STRUTS2的差不多,你可以参考一下
        1、req和res两个参数可以在Struts2中的Context中获取,这个你应该知道,毕竟我多年不用STRUTS了
        2、我这里返回的是一个MAP,你写的话肯定是返回一个字符串,修改STRUTS2中的ResultMap,加一个AJAX的,就可以了
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵