From a1634d0f2da04c457eb490108a878bc2d1a2486d Mon Sep 17 00:00:00 2001 From: Airyzz <36567925+Airyzz@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:02:30 +1030 Subject: [PATCH 1/2] Update PathResolver.java --- .../ReactNativeBlobUtil/Utils/PathResolver.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/android/src/main/java/com/ReactNativeBlobUtil/Utils/PathResolver.java b/android/src/main/java/com/ReactNativeBlobUtil/Utils/PathResolver.java index 511189913..83d3ed9be 100644 --- a/android/src/main/java/com/ReactNativeBlobUtil/Utils/PathResolver.java +++ b/android/src/main/java/com/ReactNativeBlobUtil/Utils/PathResolver.java @@ -9,6 +9,7 @@ import android.provider.MediaStore; import android.content.ContentUris; import android.content.ContentResolver; +import android.os.Environment; import com.ReactNativeBlobUtil.ReactNativeBlobUtilUtils; @@ -128,6 +129,19 @@ else if ("content".equalsIgnoreCase(uri.getScheme())) { if (isGooglePhotosUri(uri)) return uri.getLastPathSegment(); + if (isExternalStorageDocument(uri)) { + final String[] split = uri.getPath().split(":"); + final String type = split[0]; + + if ("/tree/primary".equalsIgnoreCase(type)) { + File dir = Environment.getExternalStorageDirectory(); + if (dir != null) return dir + "/" + split[1]; + return ""; + } + + // TODO handle non-primary volumes + } + return getDataColumn(context, uri, null, null); } // File From 7f5d6a24d029c0a3c6455a039ae78061870781b3 Mon Sep 17 00:00:00 2001 From: Airyzz <36567925+Airyzz@users.noreply.github.com> Date: Sun, 24 Nov 2024 13:06:21 +1030 Subject: [PATCH 2/2] remove logs these were causing issues, dont know what they do --- .../com/ReactNativeBlobUtil/ReactNativeBlobUtilReq.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtilReq.java b/android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtilReq.java index 38abc6e38..df2e5437e 100644 --- a/android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtilReq.java +++ b/android/src/main/java/com/ReactNativeBlobUtil/ReactNativeBlobUtilReq.java @@ -240,8 +240,8 @@ public void run() { Context appCtx = ReactNativeBlobUtilImpl.RCTContext.getApplicationContext(); String t123 = String.valueOf(options.addAndroidDownloads.hasKey("storeLocal")); String t1234 = String.valueOf(options.addAndroidDownloads.getBoolean("storeLocal")); - RNLog.w(ReactNativeBlobUtilImpl.RCTContext, t123); - RNLog.w(ReactNativeBlobUtilImpl.RCTContext, t1234); + // RNLog.w(ReactNativeBlobUtilImpl.RCTContext, t123); + // RNLog.w(ReactNativeBlobUtilImpl.RCTContext, t1234); // use download manager instead of default HTTP implementation if (options.addAndroidDownloads != null && options.addAndroidDownloads.hasKey("useDownloadManager")) { @@ -279,7 +279,7 @@ public void run() { if (options.addAndroidDownloads.hasKey("storeLocal") && options.addAndroidDownloads.getBoolean("storeLocal")) { - RNLog.w(ReactNativeBlobUtilImpl.RCTContext, "a"); + // RNLog.w(ReactNativeBlobUtilImpl.RCTContext, "a"); String path = (String) ReactNativeBlobUtilFS.getSystemfolders(ReactNativeBlobUtilImpl.RCTContext).get("DownloadDir"); path = path + UUID.randomUUID().toString();