Что такое альтернативность org.springframework.web.multipart.multipartresolver;JAVA

Программисты JAVA общаются здесь
Anonymous
Что такое альтернативность org.springframework.web.multipart.multipartresolver;

Сообщение Anonymous »

I am upgrading spring-boot-starter-parent from version 2.5.3 to 3.0.0
I was using the org.springframework.web.multipart.commons.CommonsMultipartResolver; (extending it) for my file upload needs

Настройки размеров макс -загрузки. < /li>
Получение файлов params < /li>
Проверка вложений и т. Д. /> Пример кода: < /p>
public class MyMultipartResolver extends CommonsMultipartResolver {

private boolean resolveLazily = false;
private String supportedMimeTypes;

@Autowired
private SessionService sessionService;

@Autowired
private UserFileUploadEventService userFileUploadEventService;

@Value("${file.supportedMimeTypes}")
public void setSupportedMimeTypes(String value) {
supportedMimeTypes = value;
}

@Value("${upload.document.max.file.size}")
private int maxFileSize;

@Value("${scep.executable.path}")
private String scepExePath;

@Value("${upload.document.directory}")
private String uploadedDocumentPath;

public TamsMultipartResolver() {
super();
}

@Override
public void setResolveLazily(boolean resolveLazily) {
this.resolveLazily = resolveLazily;
}

@Override
public MultipartHttpServletRequest resolveMultipart(final HttpServletRequest request) throws MultipartException {
Assert.notNull(request, "Request must not be null");
if (this.resolveLazily) {
return new DefaultMultipartHttpServletRequest(request) {
@Override
protected void initializeMultipart() {
MultipartParsingResult parsingResult = parseRequest(request);
validateAttachment(parsingResult.getMultipartFiles().getFirst("file"));
setMultipartFiles(parsingResult.getMultipartFiles());
setMultipartParameters(getSanitizedMultipartparameters(parsingResult));
}
};
} else {
MultipartParsingResult parsingResult = parseRequest(request);
validateAttachment(parsingResult.getMultipartFiles().getFirst("file"));
return new DefaultMultipartHttpServletRequest(request, parsingResult.getMultipartFiles(), getSanitizedMultipartparameters(parsingResult),
parsingResult.getMultipartParameterContentTypes());
}
}

private Map getSanitizedMultipartparameters(MultipartParsingResult parsingResult) {
Map mpParams = parsingResult.getMultipartParameters();
if (mpParams != null) {
HashMap encodedParams = new HashMap();
for (String key : mpParams.keySet()) {
encodedParams.put(key, AntiSamyHelper.sanitizeXSS(mpParams.get(key)));
}
return encodedParams;
}
return mpParams;
}

public void validateAttachment(MultipartFile file) throws BadRequestException {
final int fileSize = new Long(file.getSize()).intValue();
final String simpleFileName = file.getOriginalFilename();
if (simpleFileName.length() > 0) {
if (isFrequecyAttack()) {
throw new BadRequestException(RestConstants.FILE_UPLOAD_FREQUENCY_VIOLATION);
}
if (!isValidMimeType(file)) {
throw new BadRequestException(RestConstants.FILE_UPLOAD_INVALID_FILE_TYPE);
}
if (fileSize > maxFileSize) {
throw new BadRequestException(RestConstants.FILE_UPLOAD_INVALID_FILE_SIZE);
}
if (containsThreat(file)) {
throw new BadRequestException(RestConstants.FILE_UPLOAD_MALICIOUS_FILE_DETECTED);
}
} else {
throw new BadRequestException(RestConstants.FILE_UPLOAD_INVALID_FILE_TYPE);
}
}


Подробнее здесь: https://stackoverflow.com/questions/758 ... rtresolver

Вернуться в «JAVA»