实现效果:

使用canvas上传图片+上传进度

速度过快,调式浏览器方式:F12

使用canvas上传图片+上传进度

 

后台java代码

public String imageshangchuan(@RequestPart("xxx") MultipartFile multipartFile, Model model, HttpServletRequest request) {

        if (!multipartFile.getContentType().contains("image/")) {
            model.addAttribute("err", "只能是图片文件!");
            return "/inputfile";
        }
        if (multipartFile.getSize() > 1024 * 1024 * 5) {
            model.addAttribute("err", "只能是5M以下!");
            return "/inputfile";
        }
        //取得相对路径
        String basePath = request.getServletContext().getRealPath("/img");
        File files = new File(basePath);
        if(!files.exists()){
            files.mkdir();
        }
        String rekativePath;
        try {
            rekativePath = makeImagePath(basePath, multipartFile.getOriginalFilename());
            File file = new File(rekativePath);
            file.getParentFile().mkdir();
            multipartFile.transferTo(file);
        } catch (IOException e) {
            model.addAttribute("err", "上传失败,请重试");
            return "/inputfile";
        }
        return "/index";
        }
        public String makeImagePath (String basePath, String fileName){
            Date date = new Date();
            //String[] filename = simpleFile(fileName);
            return String.format("%s%s%s%supload_%s_%s.%s",
                    basePath,
                    File.separator,
                    new SimpleDateFormat("yyyyMMdd").format(date),
                    File.separator,
                    "11",
                    new SimpleDateFormat("hhmmss").format(date),
                    "jpg"
            );
        }
        public String[] simpleFile (String file){
            int sum = file.lastIndexOf(".");
            return new String[]{
                    file.substring(0, sum),
                    file.substring(sum + 1)
            };
        }
View Code

相关文章: