Вы можете преобразовать составной файл в файл следующим образом:
private File convertMultiPartToFile(MultipartFile file) throws IOException {
File convFile = new File(file.getOriginalFilename());
FileOutputStream fos = new FileOutputStream(convFile);
fos.write(file.getBytes());
fos.close();
return convFile;
}
Но это создаст файл в вашей системе s, вам нужно удалить его после загрузки, используя:
if(file.exists()){
FileUtils.deleteQuietly(file);
}
Но если вы не хотите использовать этот путь, вы можете напрямую загрузить поток на s3.
PutObjectRequest(String bucketName, String key, InputStream input, ObjectMetadata metadata)
где:
input =file.getinputstream();
ObjectMetadata metadata=new ObjectMetadata();
metadata.setContentLength(file.size());