One - One Code All

Blog Content

MultipartFile实现单文件和多文件上传并带参数

Java   2018-06-07 19:28:35


什么是MultipartFile


MultipartFile是spring类型,代表HTML中form data方式上传的文件,包含二进制数据+文件名称。


FormData对象的使用


FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具有同样形式。


可以创建一个FormData对象,然后调用它的append()方法来添加字段。

@RequestMapping("upload")
public String upload(@RequestParam("uploadfile") MultipartFile file,@RequestParam("paramValue") String paramvalue,HttpServletRequest request){
    try{
        //得到文件"upload"的服务器路径
        String sysPath=request.getSession().getServletContext().getRealPath("upload");
        String fileName=file.getOriginalFilename();    //得到文件名
        File filePath=new File(sysPath,fielName);    //得到文件路径
        if(!filePath.getParentFile().exists()){    //判断服务器当前路径文件夹是否存在
            filePath.getParentFile().mkdirs();    //不存在则创建文件夹
        }
        BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(filePath));
        out.write(file.getBytes());
        out.flush();
        out.close();
    }catch(fileNotFoundException e){
        e.printStrackTrace();
        return "失败";
    }catch(IOException e){
        e.printStrackTrace();
        return "失败";
    }
}

单文件上传


前段HTML页面:


    
    
    

多文件上传:

与单文件差别不大:前端多个,后端接收的时候方法参数使用数组:

@RequestParam("param") MultipartFile []  file



上一篇:julia安装的时候出现error building homebrew
下一篇:MAC连接蓝牙麦克风

The minute you think of giving up, think of the reason why you held on so long.