下面是用于验证文件扩展名的验证器
FileExtensionValidator.java] >>
import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import org.springframework.web.multipart.MultipartFile; public class FileExtensionValidator implements ConstraintValidator<ValidExtension, MultipartFile> { @Override public void initialize(ValidExtension extension) { } @Override public boolean isValid(MultipartFile file, ConstraintValidatorContext context) { String extension = ""; if (null != file) { extension = file.getName(); } return (null != extension) && (extension.endsWith(".png") || extension.endsWith(".PNG") || extension.endsWith(".JPEG") || extension.endsWith(".jpeg")) ? true : false; } }
这里是验证界面ValidExtension.java
import static java.lang.annotation.ElementType.*; import static java.lang.annotation.RetentionPolicy.*; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; import javax.validation.Constraint; import javax.validation.Payload; @Target({ METHOD, FIELD, ANNOTATION_TYPE, PARAMETER, TYPE }) @Retention(RUNTIME) @Constraint(validatedBy = FileExtensionValidator.class) @Documented public @interface ValidExtension { String message() default "Not a valid Email"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {}; }
这是使用的控制器
@RequestMapping(value = "/file/upload", method = POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = APPLICATION_JSON_VALUE) public BaseResponse uploadFile(@ValidExtension @RequestParam("file") MultipartFile file) { return fileStorageService.upload(file); }
以下内容已添加到pom中
<dependency> <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> <version>1.5.1</version> </dependency>
使用的春季版本:4
我确实在验证逻辑中获得了我的方法。如果我缺少任何基本步骤,请让我了解。已经检查了基本教程,都说了相同的步骤。
提前感谢。
以下是用于验证文件扩展名FileExtensionValidator.java import javax.validation.ConstraintValidator的验证器;导入javax.validation.ConstraintValidatorContext; import org ....
这可能对最初创建此帖子的人没有帮助,但对像我一样面临同样问题的某些人可能很有用。