From a8b6a2d019e827e808ec27cd73ea4c88bb81ed71 Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Wed, 28 Dec 2022 20:45:40 -0700 Subject: [PATCH] folder write --- .../java/asgardius/page/s3manager/Downloader.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/asgardius/page/s3manager/Downloader.java b/app/src/main/java/asgardius/page/s3manager/Downloader.java index f1d3d9d..19a9977 100644 --- a/app/src/main/java/asgardius/page/s3manager/Downloader.java +++ b/app/src/main/java/asgardius/page/s3manager/Downloader.java @@ -3,6 +3,7 @@ package asgardius.page.s3manager; import static android.content.ContentValues.TAG; import androidx.appcompat.app.AppCompatActivity; +import androidx.documentfile.provider.DocumentFile; import android.app.Activity; import android.content.Context; @@ -33,7 +34,7 @@ import java.io.OutputStream; public class Downloader extends AppCompatActivity { String username, password, endpoint, bucket, filename, prefix, location; - Uri fileuri; + Uri fileuri, filepath; Region region; S3ClientOptions s3ClientOptions; AWSCredentials myCredentials; @@ -43,6 +44,7 @@ public class Downloader extends AppCompatActivity { Button fileDownload; Thread downloadFile, downloadProgress; S3Object object; + DocumentFile document; boolean started = false; boolean cancel = false; boolean isfolder = false; @@ -118,9 +120,15 @@ public class Downloader extends AppCompatActivity { //Your code goes here //s3client.createBucket(bucket, location); //System.out.println(fkey); + document = DocumentFile.fromTreeUri(getApplicationContext(), fileuri); object = s3client.getObject(bucket, prefix+filename); filesize = (object.getObjectMetadata().getContentLength())/1024; - writeContentToFile(fileuri, object); + if (isfolder) { + filepath = document.createFile(null, filename).getUri(); + writeContentToFile(filepath, object); + } else { + writeContentToFile(fileuri, object); + } runOnUiThread(new Runnable() { @Override public void run() {