SpringMVC图片上传

一.form表单提交





Insert title here


       



@RequestMapping("/user")
@Controller
public class duowenjianshangchuan {
 
    /**
     * file:传入的参数名称 MultipartFile:上传文件的对象,它会标识文件的类型。
     *
     * @param multipartFile
     * @return String : 返回简写视图名称
     * @throws Exception
     */
     //第一种方法:这个是多文件上传,如果是一个文件的话,就
    @RequestMapping("/moreupload")
    public String upload(@RequestParam("file") MultipartFile[] multipartFile, HttpServletRequest request)
            throws Exception {
 
        String string = request.getParameter("wenben");
        System.out.println(string);
 
        for (MultipartFile myfile : multipartFile) {
            if (myfile.isEmpty()) {
                System.out.println("文件未上传");
            } else {
                System.out.println("文件长度: " + myfile.getSize());
                System.out.println("文件类型: " + myfile.getContentType());
                System.out.println("文件名称: " + myfile.getName());
                System.out.println("文件原名: " + myfile.getOriginalFilename());
                System.out.println("========================================");
                // 如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\WEB-INF\\upload\\文件夹中
                String realPath = request.getSession().getServletContext().getRealPath("/WEB-INF/upload");
                System.out.println("上传到tomcat服务器的地址" + realPath);
                // 这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的
                // FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(realPath,
                // myfile.getOriginalFilename()));
            }
        }
 
        return "redirect:/html/success.html";
    }
 
 
 
     //第二种方法,没有在方法的参数里面写 @RequestParam("file") MultipartFile[] multipartFile
    @RequestMapping("/moreupload2")
    public String upload2(HttpServletRequest request) throws Exception {
        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
        List files = multiRequest.getFiles("file");
        for (int i = 0; i < files.size(); i++) {
            System.out.println(files.get(i).getOriginalFilename());
        }
 
        return "redirect:/html/success.html";
    }
 
}

二.ajax异步提交(H5 FormDate)




    
    上传图片
    
 


 
@RequestMapping(value="fileupload", method=RequestMethod.POST,produces="text/html;charset=utf-8")
    public void addPic(HttpServletResponse response,HttpServletRequest request,
                       @RequestParam(value="file", required=false) MultipartFile file) throws IOException{
        System.out.println(file.getOriginalFilename());
        response.getWriter().write("success");
        response.setHeader("Access-Control-Allow-Origin", "*");
    }

三.参考

https://www.cnblogs.com/emperorking/articles/6396956.html

你可能感兴趣的:(SpringMVC图片上传)