1. 程式人生 > 其它 >Multipartfile 獲取檔案寬、高、大小、解析度

Multipartfile 獲取檔案寬、高、大小、解析度

@RequestMapping("/up")
@ResponseBody
public String upImg(@RequestParam("myfile") MultipartFile mfile, Long code) throws IOException {
    long size = mfile.getSize() / 1024; //kb
    if (size > 1024 || size < 10) { //判斷圖片大小 單位Kb
        return "圖片尺寸不合適.範圍10kb - 1024kb";
    }
    BufferedImage image = ImageIO.read(mfile.getInputStream());
    
if (image == null) { //如果image=null 表示上傳的不是圖片格式 return "圖片格式不正確."; } if (image.getHeight() != image.getWidth()) { //判斷圖片是否是正方形 return "非正方形圖片,請上傳正方形圖片."; } if (image.getHeight() > 800 || image.getHeight() < 320) { //判斷圖片是否是在解析度範圍內,非水平解析度,非垂直解析度 return "是正方形圖片,但是解析度過大或過小,要求解析度 320 至 800"; }
try { BlobUpload upload = fileUploadService.uploadFile(mfile, "commodity-picture"); commodityDao.updateCommoditypicByCode(upload.getFileUrl(), Long.valueOf(code), LocalDateTime.now()); return "0"; } catch (Exception e) { e.printStackTrace(); return "圖片合理,但上傳異常,請聯絡開發"; } }