|
@@ -150,6 +150,14 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
150
|
150
|
}
|
151
|
151
|
// set headers
|
152
|
152
|
ReadableMapKeySetIterator it = headers.keySetIterator();
|
|
153
|
+ // #391 Add MIME type to the request
|
|
154
|
+ if(options.addAndroidDownloads.hasKey("mime")) {
|
|
155
|
+ req.setMimeType(options.addAndroidDownloads.getString("mime"));
|
|
156
|
+ }
|
|
157
|
+
|
|
158
|
+ if(options.addAndroidDownloads.hasKey("mediaScannable") && options.addAndroidDownloads.hasKey("mediaScannable") == true ) {
|
|
159
|
+ req.allowScanningByMediaScanner();
|
|
160
|
+ }
|
153
|
161
|
while (it.hasNextKey()) {
|
154
|
162
|
String key = it.nextKey();
|
155
|
163
|
req.addRequestHeader(key, headers.getString(key));
|
|
@@ -636,16 +644,20 @@ public class RNFetchBlobReq extends BroadcastReceiver implements Runnable {
|
636
|
644
|
return;
|
637
|
645
|
}
|
638
|
646
|
String contentUri = c.getString(c.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
|
639
|
|
- if (contentUri != null) {
|
|
647
|
+ if ( contentUri != null &&
|
|
648
|
+ options.addAndroidDownloads.hasKey("mime") &&
|
|
649
|
+ options.addAndroidDownloads.getString("mime").contains("image")) {
|
640
|
650
|
Uri uri = Uri.parse(contentUri);
|
641
|
651
|
Cursor cursor = appCtx.getContentResolver().query(uri, new String[]{android.provider.MediaStore.Images.ImageColumns.DATA}, null, null, null);
|
642
|
|
- // use default destination of DownloadManager
|
|
652
|
+
|
|
653
|
+ // use default destination of DownloadManager
|
643
|
654
|
if (cursor != null) {
|
644
|
655
|
cursor.moveToFirst();
|
645
|
656
|
filePath = cursor.getString(0);
|
646
|
657
|
}
|
647
|
658
|
}
|
648
|
659
|
}
|
|
660
|
+
|
649
|
661
|
// When the file is not found in media content database, check if custom path exists
|
650
|
662
|
if (options.addAndroidDownloads.hasKey("path")) {
|
651
|
663
|
try {
|