java 文件上传

时间:2021-08-04
本文章向大家介绍java 文件上传,主要包括java 文件上传使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

java 文件上传工具包

主要有两个方法:单文件上传和多文件上传

@Slf4j
public class UploadFileUtil {
    //上传单张图片
    public String uploadPicture(MultipartFile photo) throws IOException {
        String path = ResourceUtils.getURL("classpath:").getPath() + "static/";
        String fileName = snowflakeUtil.get().toString() + photo.getOriginalFilename();
        File file = new File(path, fileName);
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdir();
        }
        photo.transferTo(file);
        log.warn("文件上传成功,文件名称为:--->" + fileName);
        String resultUrl = fileName;
        log.warn("文件上传的完整路径为:--->" + resultUrl);
        return resultUrl;
    }

    //上传多张图片
    public String uploadPictures(MultipartFile[] photos) throws FileNotFoundException {
        //获取文件上传的路径
        String path = ResourceUtils.getURL("classpath:").getPath() + "static/";
        String fileName = null;
        //定义一个数据,来存放他们存放的图片的路径
        ArrayList<String> list = new ArrayList<>();

        for (MultipartFile photo : photos) {
            try {
                fileName = snowflakeUtil.get().toString() + photo.getOriginalFilename();
                File file = new File(path, fileName);
                if (!file.getParentFile().exists()) {
                    file.getParentFile().mkdir();
                }
                //完成上传
                photo.transferTo(file);
                //实际的图片存放路径
                String resultUrl = fileName;
                list.add(resultUrl);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        log.info("图片存放路径为:--->" + list.toString());
        return list.toString();
    }
}

原文地址:https://www.cnblogs.com/xiaomitu/p/15098981.html