springboot上傳文件並檢查圖片大小與格式


 

 

@PostMapping(value = "/uploadDriverImage")
    public JsonResVo uploadDriverImage(@RequestParam("file") MultipartFile file) {
        try {
            //檢查文件是否為空
            if(file.isEmpty()) {
                return JsonResVo.buildErrorResult(ErrorEnum.ERROR_DEFAULT.getErrorCode(), "請選擇圖片");
            }
            //檢查文件大小
            if(file.getSize() > Constant.M2_TO_BYTE) {
                return JsonResVo.buildErrorResult(ErrorEnum.ERROR_DEFAULT.getErrorCode(), "請上傳2M以內的圖片");    
            }
            //檢查是否是圖片
            BufferedImage bi = ImageIO.read(file.getInputStream());
            if(bi == null){ 
                return JsonResVo.buildErrorResult(ErrorEnum.ERROR_DEFAULT.getErrorCode(), "上傳的文件不是圖片");    
            }
            
            String originalFilename = file.getOriginalFilename();
            String fileType = null;
            if(originalFilename.contains(".")) {
                fileType = originalFilename.substring(originalFilename.lastIndexOf(".")+1);
            } else {
                fileType = Constant.IMAGE_TYPE_JPG;
            }
            String ossFilePath = OSSUtil.upload(file.getInputStream(), System.currentTimeMillis()+"", fileType, "driverimage");
            return JsonResVo.buildSuccess(ossFilePath);
        } catch (Exception e) {
            e.printStackTrace();
            return JsonResVo.buildErrorResult(ErrorEnum.ERROR_DEFAULT.getErrorCode(), e.getMessage());
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM