首先需要引入commons-fileupload

<dependency>
     <groupId>commons-fileupload</groupId>
     <artifactId>commons-fileupload</artifactId>
     <version>1.3.3</version>
</dependency>

MultipartFile方式

示例代码:

    @RequestMapping(value = \"\", method = RequestMethod.POST)
    @ResponseBody
    public String postUpload(HttpServletRequest request, MultipartFile file) throws Exception
    {
        String path = request.getSession().getServletContext().getRealPath(\"upload\");
        String fileName = file.getOriginalFilename();
        File dir = new File(path, fileName);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        file.transferTo(dir);
        return \"ok\";
    }

CommonsMultipartFile方式

示例代码:

    @RequestMapping(value = \"\", method = RequestMethod.POST)
    @ResponseBody
    public String postUpload(@RequestParam(required = false) CommonsMultipartFile file, HttpServletRequest request) throws Exception
    {
        String path = request.getSession().getServletContext().getRealPath(\"upload\");
        String fileName = file.getOriginalFilename();
        File dir = new File(path);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        OutputStream os = new FileOutputStream(dir + \"/\" + fileName);
        InputStream ins = file.getInputStream();
        byte[] bytes = new byte[1024];
        int temp;
        while ((temp = ins.read(bytes)) != -1) {
            os.write(bytes, 0, temp);
        }
        os.close();
        ins.close();
        return \"ok\";
    }

CommonsMultipartResolver方式

示例代码:

    @RequestMapping(value = \"\", method = RequestMethod.POST)
    @ResponseBody
    public String postUpload(HttpServletRequest request) throws Exception
    {
        CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(
                request.getSession().getServletContext()
        );
        if (commonsMultipartResolver.isMultipart(request)) {
            MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)request;
            MultipartFile file = multipartHttpServletRequest.getFile(\"file\");
            String path = request.getSession().getServletContext().getRealPath(\"upload\");
            String fileName = file.getOriginalFilename();
            File dir = new File(path, fileName);
            if (!dir.exists()) {
                dir.mkdirs();
            }
            file.transferTo(dir);
        }
        return \"ok\";
    }
收藏 打印