8 springboot上传文件ajax

2017-12-03  本文已影响0人  lijiaccy

之前我是通过表单上传的,现在有需求,通过ajax无刷新提交。

首先在form表单上面加上`enctype="multipart/form-data"

<form id="form_table" enctype="multipart/form-data" >
<input type="file" name="filename" />
<br/>
<input type="text" name="account" value="1888" class="account">
</form>

然后js中写上:

    var fd = new FormData($("#form_table")[0]);
    $.ajax({
        url: "/upload/batchImport",
        type: "POST",
        data: fd,
        processData: false,
        contentType: false,
        success : function(data) {
            alert(data.flag);
        },
        error : function(data) {
            alert(data.flag);
        }
    });

后台接收:

 @RequestMapping(value = "/upload/batchImport",method = RequestMethod.POST)
 @ResponseBody
 public Object batchImport(@RequestParam("filename") MultipartFile file, String account) throws IOException {
    Map map = new HashMap();
    int flag = 0;


    //判断文件是否为空
    if(file==null){
        map.put("flag",flag);
        map.put("msg","文件为空!");
        return map;
    }

    //获取文件名
    String fileName=file.getOriginalFilename();

    //批量导入
    String message1 = uploadService.batchImport(account,file,false);
    map.put("flag",1);
    map.put("msg","成功插入"+message1+"条数据!");
    return map;
}

上面的filename就是前台中的name值,注意
返回了json数据,实现ajax无刷新上传文件。

上一篇 下一篇

猜你喜欢

热点阅读