Java上传图片到本地

上传到指定的路径,并以当前的日期分类

 public String add(MultipartFile file) throws Exception {
        String path = null;// 文件路径

        if (file != null) {// 判断上传的文件是否为空
            String type = null;// 文件类型
            String fileName = file.getOriginalFilename();// 文件原名称
            System.out.println("上传的文件原名称:" + fileName);

            // 判断文件类型
            type = fileName.indexOf(".") != -1 ? fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()) : null;
            if (type != null) {// 判断文件类型是否为空

                if ("GIF".equals(type.toUpperCase()) || "PNG".equals(type.toUpperCase()) || "JPG".equals(type.toUpperCase())) {

                    String uuid = UUID.randomUUID().toString().replaceAll("-","");
                    fileName = uuid + "."+type;
                    System.out.println("文件名称:"+fileName);

                    // 添加日期
                    String datePath = new DateTime().toString("yyyy/MM/dd");
                    path = "C:/Users/MD/Desktop/Upload/"+datePath+"/";
                    File f = new File(path);
                    if (!f.exists()){
                        f.mkdirs();
                    }

                    String pathName = path + fileName;
                    System.out.println("存放图片文件的路径:" + pathName);

                    // 转存文件到指定的路径
                    file.transferTo(new File(pathName));

                    System.out.println("文件成功上传到指定目录下");
                    return datePath + "/" + fileName + "." + type;
                }

            } else {
                return "不是我们想要的文件类型,请按要求重新上传";
            }
        } else {
            return "文件类型为空";
        }
        return "已经成功上传到指定目录";

    }

posted @ 2021-08-14 16:30  山丘i  阅读(510)  评论(0编辑  收藏  举报