zoukankan      html  css  js  c++  java
  • 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());
            }
        }
  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/shihaiming/p/10404795.html
Copyright © 2011-2022 走看看