上传图片方法

 
    /**
     * 上传图片
     *
     * @param myfile 原始文件
     * @param picdir 目标文件夹
     * @return 返回访问路径
     */
    public static String uploadpic(MultipartFile myfile, String picdir) {
        String saveUrl = "/attached/";
        String originalFilename = myfile.getOriginalFilename();
        Map<String, String> maps = mkdir(saveUrl, picdir);
        String endName = originalFilename.substring(
                originalFilename.lastIndexOf("."), originalFilename.length()).toLowerCase();
        String filename = UUID.randomUUID() + endName;
        if ("jpg,jpeg,png,bmp,log".contains(endName.replaceAll("\\.", ""))) {
            try {
                FileUtils.copyInputStreamToFile(myfile.getInputStream(),
                        new File(maps.get("savePath"), filename));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return maps.get("saveUrl") + filename;
        }
        return null;

    }
    /**
     * 创建文件
     *
     * @param saveUrl 保存路径
     * @param dirName 文件名
     * @return 返回文件信息
     */
    public static Map<String, String> mkdir(String saveUrl, String dirName) {
        InputStream inputStreamIp = Tools.class.getResourceAsStream("/ipconfig.properties");
        Properties p = new Properties();
        try {
            p.load(inputStreamIp);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                inputStreamIp.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        String savePath = p.getProperty("uploadPath");
        saveUrl += dirName + "/";
        savePath += dirName + "/";
        File saveDirFile = new File(savePath);
        if (!saveDirFile.exists()) {
            boolean boolmkDirs = saveDirFile.mkdirs();
            logger.debug("boolmkDirs = " + boolmkDirs);
        }
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");
        String ymd = LocalDate.now().format(dtf);
        savePath += ymd + "/";
        saveUrl += ymd + "/";
        File dirFile = new File(savePath);
        if (!dirFile.exists()) {
            boolean canMake = dirFile.mkdirs();
            logger.debug("saveUrl = [" + saveUrl + "], dirName = [" + dirName + "]");
        }
        Map<String, String> maps = new HashMap<String, String>(2);
        maps.put("savePath", savePath);
        maps.put("saveUrl", saveUrl);
        return maps;
    }
uploadPath= E:\\new\\project\\wellLid\\target\\wellLid\\attached

猜你喜欢

转载自blog.csdn.net/qq_29072049/article/details/88048599