文件大小校验工具类
  irFfYcI2pvIK 2023年11月02日 75 0


import org.springframework.web.multipart.MultipartFile;


/**
 *  文件大小校验工具类
 * @author 
 * @date 2023年8月17日20:09:06
 */
public class MultipartFileUtil {

    /**
     * //文件上传限制大小
     */
    private final static Integer FILE_SIZE = 5;
    /**
     * //文件上传限制单位(B,K,M,G)
     */
    private final static String FILE_UNIT = "M";

    /**
     * @param len  文件长度
     * @param size 限制大小
     * @param unit 限制单位(B,K,M,G)
     * @描述 判断文件大小
     */
    public static boolean checkFileSize(Long len, int size, String unit) {
        double fileSize = 0;
        if ("B".equalsIgnoreCase(unit)) {
            fileSize = (double) len;
        } else if ("K".equalsIgnoreCase(unit)) {
            fileSize = (double) len / 1024;
        } else if ("M".equalsIgnoreCase(unit)) {
            fileSize = (double) len / 1048576;
        } else if ("G".equalsIgnoreCase(unit)) {
            fileSize = (double) len / 1073741824;
        }
        return !(fileSize > size);
    }


    /**
     * 文件上传调用
     * @param file
     * @return
     */
    public static boolean checkFileSize(MultipartFile file) {
        boolean flag = checkFileSize(file.getSize(), FILE_SIZE, FILE_UNIT);
        if (!flag) {
            throw new RuntimeException("上传文件大小超出限制");
        }
        return true;
    }


    /**
     * 文件上传调用
     * @param file
     * @param fileSize 文件大小
     * @param fileUnit 文件单位
     * @return
     */
    public static boolean checkFileSize(MultipartFile file,Integer fileSize,String fileUnit) {
        boolean flag = checkFileSize(file.getSize(), fileSize, fileUnit);
        if (!flag) {
            throw new RuntimeException("上传文件大小超出限制");
        }
        return true;
    }

}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   110   0   0 Java
  8s1LUHPryisj   2024年05月17日   46   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
irFfYcI2pvIK