Jean Carriere created CB-5401:
---------------------------------
Summary: Plugin File Transfer does not work on Android 4.4
Key: CB-5401
URL: https://issues.apache.org/jira/browse/CB-5401
Project: Apache Cordova
Issue Type: Bug
Components: Android, Plugin File Transfer
Affects Versions: 3.4.0
Reporter: Jean Carriere
When using FileTransfer plugin to upload a file, I get an error on KitKat (the
code works fine on android 4.3.
Here is the stack trace :
java.lang.SecurityException: Permission Denial: reading
com.android.providers.media.MediaDocumentsProvider uri
content://com.android.providers.media.documents/document/image:5646 from
pid=16183, uid=10093 requires android.permission.MANAGE_DOCUMENTS, or
grantUriPermission()
E/FileTransfer(16183): at android.os.Parcel.readException(Parcel.java:1461)
E/FileTransfer(16183): at
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/FileTransfer(16183): at
android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:148)
E/FileTransfer(16183): at
android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:682)
E/FileTransfer(16183): at
android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1063)
E/FileTransfer(16183): at
android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:904)
E/FileTransfer(16183): at
android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:831)
E/FileTransfer(16183): at
org.apache.cordova.CordovaResourceApi.openForRead(CordovaResourceApi.java:245)
E/FileTransfer(16183): at
org.apache.cordova.CordovaResourceApi.openForRead(CordovaResourceApi.java:204)
E/FileTransfer(16183): at
org.apache.cordova.filetransfer.FileTransfer$1.run(FileTransfer.java:364)
E/FileTransfer(16183): at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/FileTransfer(16183): at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/FileTransfer(16183): at java.lang.Thread.run(Thread.java:841)
The js code is :
var options = new FileUploadOptions();
options.fileKey = "file";
options.fileName = imageURI.substr(imageURI.lastIndexOf('/') + 1);
options.mimeType = "image/jpeg";
options.headers = {
Connection: "close"
};
options.chunkedMode = false;
var params = {};
params.token = config.token();
options.params = params;
var ft = new FileTransfer();
ft.upload(imageURI, config.serviceUrl() + "media/default", win,
fail, options);
--
This message was sent by Atlassian JIRA
(v6.1#6144)