Skip to content

Commit e412791

Browse files
author
a.osetckiy
committed
добавил url, который позволяет скачивать все файлы из bucket
1 parent 4c22a07 commit e412791

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@
4242
<artifactId>aws-java-sdk</artifactId>
4343
<version>1.11.133</version>
4444
</dependency>
45+
46+
<dependency>
47+
<groupId>commons-io</groupId>
48+
<artifactId>commons-io</artifactId>
49+
<version>2.4</version>
50+
</dependency>
4551
</dependencies>
4652

4753
<build>

src/main/java/com/example/bucket/controller/BucketController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,9 @@ public String uploadFile(@RequestPart(value = "file") MultipartFile file) {
3333
public String deleteFile(@RequestPart(value = "url") String fileUrl) {
3434
return this.amazonClient.deleteFileFromS3Bucket(fileUrl);
3535
}
36+
37+
@GetMapping("/downloadFiles")
38+
public void downloadFiles() {
39+
this.amazonClient.downloadAllS3Object();
40+
}
3641
}

src/main/java/com/example/bucket/service/AmazonClient.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.amazonaws.services.s3.AmazonS3;
66
import com.amazonaws.services.s3.AmazonS3Client;
77
import com.amazonaws.services.s3.model.*;
8+
import org.apache.commons.io.FileUtils;
89
import org.springframework.beans.factory.annotation.Value;
910
import org.springframework.stereotype.Service;
1011
import org.springframework.web.multipart.MultipartFile;
@@ -80,4 +81,18 @@ public List<S3ObjectSummary> listFilesTos3bucket() {
8081

8182
return s3ObjectSummaries;
8283
}
84+
85+
public void downloadAllS3Object() {
86+
try {
87+
List<S3ObjectSummary> s3ObjectSummaries = listFilesTos3bucket();
88+
for (S3ObjectSummary s3ObjectSummary : s3ObjectSummaries) {
89+
S3Object object = s3client.getObject(s3ObjectSummary.getBucketName(),
90+
s3ObjectSummary.getKey());
91+
File file = new File(s3ObjectSummary.getKey());
92+
FileUtils.copyInputStreamToFile(object.getObjectContent(), file);
93+
}
94+
} catch (IOException e) {
95+
e.printStackTrace();
96+
}
97+
}
8398
}

0 commit comments

Comments
 (0)