1. 程式人生 > 其它 >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();
    }
}