天天看点

formData SSM 框架实现多图上传

formData部分代码:

var formData = new FormData();
for(var ii = 0; ii < flag; ii++){
    if (editor[ii+1] != undefined){
        //文本
        alert(ii+1);
        var single_json = {
            "inner": editor[ii+1].txt.html(),
            "order": ii+1
        };
        result.push(single_json);
     }else {
        //图片
        //获取id
        var pic_id = "#pic"+(ii+1).toString();
        formData.append('file', $(pic_id)[0].files[0]);

        //FormData.set 和 append() 的区别在于,如果指定的键已经存在, FormData.set 会使用新值覆盖已有的值,而 append() 会把新值添加到已有值集合的后面。
    //注意:如果你的服务器端是PHP那么为了与php命名习惯一致在名称中需要添加[],如formData.append('files[]',files[i]);


        //这里加一个order的数组
        var single_order = {
             "order": ii+1
        };
        files_order.push(single_order);

      }
}
           

//FormData.set 和 append() 的区别在于,如果指定的键已经存在, FormData.set 会使用新值覆盖已有的值,而 append() 会把新值添加到已有值集合的后面。

//注意:如果你的服务器端是PHP那么为了与php命名习惯一致在名称中需要添加[],如formData.append('files[]',files[i]);

服务端代码

Controller:

/**
     * 上传feeds流的段子
     * @param sentence
     * @param response
     * @return
     */
    @RequestMapping(value = "upload_feeds_sentences.do", method = RequestMethod.POST)
    @ResponseBody
    public ServerResponse upload_feeds_sentences(String files_order,@RequestParam(value = "file",required = false) MultipartFile[] files,@RequestParam(value = "pic",required = false) MultipartFile pic,@RequestParam(value = "video_file",required = false) MultipartFile video_file,String title,String select,String kind,String author,String sentence, HttpServletResponse response, HttpServletRequest request ){
        return iAdminService.upload_feeds_sentences(files_order,files,pic,video_file, title, select, kind, author,sentence, response,request);
    }
           

service:

formData SSM 框架实现多图上传

继续阅读