Spring boot 怎么限制文件上传大小

1、在Application.java添加以下代码,就可以实现,全局上传文件限制大小

	/**
	 * 文件上传配置
	 * gxs
	 * @return
	 */
	@Bean
	public MultipartConfigElement multipartConfigElement() {
		MultipartConfigFactory factory = new MultipartConfigFactory();
		// 单个文件最大 100MB
		factory.setMaxFileSize("100MB"); //KB,MB
		// 设置总上传数据总大小 1000M
		factory.setMaxRequestSize("100MB");
		return factory.createMultipartConfig();
	}

2、上传文件的方法新增校验方法,部分上传限制大小

    /**
     * 判断文件大小
     *
     * @param len
     *            文件长度
     * @param size
     *            限制大小
     * @param unit
     *            限制单位(B,K,M,G)
     * @return
     */
    public static boolean checkFileSize(Long len, int size, String unit) {
//        long len = file.length();
        double fileSize = 0;
        if ("B".equals(unit.toUpperCase())) {
            fileSize = (double) len;
        } else if ("K".equals(unit.toUpperCase())) {
            fileSize = (double) len / 1024;
        } else if ("M".equals(unit.toUpperCase())) {
            fileSize = (double) len / 1048576;
        } else if ("G".equals(unit.toUpperCase())) {
            fileSize = (double) len / 1073741824;
        }
        if (fileSize > size) {
            return false;
        }
        return true;
    }
	
	// 上传文件格式
MultipartFile multipartFile;
// 文件不大于100M
FileUtil.checkFileSize( multipartFile.getSize(),100,"M");
boolean flag = checkFileSize( file.getSize(),1,"M");

        if (!flag) {
            throw ResultException.createResultException("文件大小不能超过1M");
        }

3、前端限制大小。


版权声明:本文为damoneric_guo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。