SUPPORT-9322: Fix
This commit is contained in:
parent
97028eacc5
commit
48b03073a6
1 changed files with 5 additions and 4 deletions
|
|
@ -16,11 +16,13 @@ import ru.micord.ervu.av.exception.FileUploadException;
|
||||||
public class S3Service {
|
public class S3Service {
|
||||||
private final String outBucketName;
|
private final String outBucketName;
|
||||||
private final AmazonS3 outClient;
|
private final AmazonS3 outClient;
|
||||||
|
private final String s3Prefix;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public S3Service(String outBucketName, AmazonS3 outClient) {
|
public S3Service(String outBucketName, AmazonS3 outClient) {
|
||||||
this.outBucketName = outBucketName;
|
this.outBucketName = outBucketName;
|
||||||
this.outClient = outClient;
|
this.outClient = outClient;
|
||||||
|
this.s3Prefix = "s3://" + outBucketName + "/";
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
|
|
@ -33,7 +35,7 @@ public class S3Service {
|
||||||
public String putFile(Path filePath, String key) throws FileUploadException {
|
public String putFile(Path filePath, String key) throws FileUploadException {
|
||||||
try {
|
try {
|
||||||
outClient.putObject(outBucketName, key, filePath.toFile());
|
outClient.putObject(outBucketName, key, filePath.toFile());
|
||||||
return String.join("/", "s3:/", outBucketName, key);
|
return s3Prefix + key;
|
||||||
}
|
}
|
||||||
catch (AmazonServiceException e) {
|
catch (AmazonServiceException e) {
|
||||||
// todo message
|
// todo message
|
||||||
|
|
@ -42,11 +44,10 @@ public class S3Service {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteFileByUrl(String url) {
|
public void deleteFileByUrl(String url) {
|
||||||
String prefix = "s3://" + outBucketName + "/";
|
if (!url.startsWith(s3Prefix)) {
|
||||||
if (!url.startsWith(prefix)) {
|
|
||||||
throw new IllegalArgumentException("Некорректный S3 URL: " + url);
|
throw new IllegalArgumentException("Некорректный S3 URL: " + url);
|
||||||
}
|
}
|
||||||
String key = url.substring(prefix.length());
|
String key = url.substring(s3Prefix.length());
|
||||||
outClient.deleteObject(outBucketName, key);
|
outClient.deleteObject(outBucketName, key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue