Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
3.4.0
-
None
-
None
-
Android 5.0
Description
Added a simple FileReader to index.html to select an image and display it, but always errors out.
Expected:
- Click 'Choose File' button
- Select an image file
- Get 2 alerts, 1 for entering the Openfile function, and the second for entering Onload
- Image should display
Actual:
- Never gets to the Onload function, so image doesn't display
- Goes to onError
I have traced through the native side in CordovaActivity and CordovaChromeClient and it seems to get the result URL fine, but when it returns to the javascript side, the result ends up being null. I'm not too familiar with how the bridging works, so maybe there is some type of disconnect there.
In the log, I am using the Cordova File plugin, but the issue still occurs even if I am not using the plugin. Everything is the same with or without the plugin, native side gets the result, but javascript side gets null.
<input type='file' accept='image/*' onchange='openFile(event)'><br> <img id='output'> <script> var openFile = function(event) { alert("Inside Openfile Function"); var input = event.target; var reader = new FileReader(); reader.onload = function(){ alert("Inside Onload Function"); var dataURL = reader.result; var output = document.getElementById('output'); output.src = dataURL; }; reader.onerror = function() { console.log('An error occurred while reading a file.'); console.log(reader.error); }; reader.readAsDataURL(input.files[0]); }; </script>
Log:
07-02 18:38:35.446: I/chromium(11741): [INFO:CONSOLE(24)] "The key "target-densitydpi" is not supported.", source: file:///android_asset/www/index.html (24) 07-02 18:38:35.722: I/chromium(11741): [INFO:CONSOLE(1088)] "adding proxy for Contacts", source: file:///android_asset/www/cordova.js (1088) 07-02 18:38:35.777: D/CordovaNetworkManager(11741): Connection Type: none 07-02 18:38:35.837: I/chromium(11741): [INFO:CONSOLE(47)] "Received Event: deviceready", source: file:///android_asset/www/js/index.js (47) 07-02 18:38:42.042: I/ActivityManager(508): START u0 {act=android.intent.action.CHOOSER cmp=android/com.android.internal.app.ChooserActivity (has extras)} from uid 10289 on display 0 07-02 18:38:42.081: I/ActivityManager(508): Start proc android:ui for activity android/com.android.internal.app.ChooserActivity: pid=12212 uid=1000 gids={41000, 9997, 1028, 1015, 3002, 3001, 3003} abi=arm64-v8a 07-02 18:38:42.146: D/ResolverActivity(12212): sinceTime=1434667122141 07-02 18:38:42.154: I/ActivityManager(508): START u0 {act=android.intent.action.GET_CONTENT cat=[android.intent.category.OPENABLE] typ=*/* flg=0x3000000 cmp=com.android.documentsui/.DocumentsActivity} from uid 10289 on display 0 07-02 18:38:42.197: I/ActivityManager(508): Start proc com.android.documentsui for activity com.android.documentsui/.DocumentsActivity: pid=12239 uid=10039 gids={50039, 9997} abi=arm64-v8a 07-02 18:38:42.211: I/art(208): Explicit concurrent mark sweep GC freed 704(30KB) AllocSpace objects, 0(0B) LOS objects, 39% free, 6MB/11MB, paused 102us total 16.967ms 07-02 18:38:42.225: I/art(208): Explicit concurrent mark sweep GC freed 7(240B) AllocSpace objects, 0(0B) LOS objects, 40% free, 6MB/11MB, paused 64us total 12.789ms 07-02 18:38:42.241: I/art(208): Explicit concurrent mark sweep GC freed 5(160B) AllocSpace objects, 0(0B) LOS objects, 40% free, 6MB/11MB, paused 61us total 11.713ms 07-02 18:38:42.334: I/ActivityManager(508): Start proc com.android.externalstorage for content provider com.android.externalstorage/.ExternalStorageProvider: pid=12270 uid=10006 gids={50006, 9997, 1028, 1015, 1023} abi=arm64-v8a 07-02 18:38:42.365: D/OpenGLRenderer(12239): Render dirty regions requested: true 07-02 18:38:42.377: D/Atlas(12239): Validating map... 07-02 18:38:42.414: D/ExternalStorage(12270): After updating volumes, found 1 active roots 07-02 18:38:42.459: W/EventLoggerService(4267): Unable to send logs Error code: 262160 | The connection was not attempted due to lack of network connectivity. 07-02 18:38:42.474: I/wpa_supplicant(820): wlan0: CTRL-EVENT-SCAN-STARTED 07-02 18:38:42.477: I/OpenGLRenderer(12239): Initialized EGL, version 1.4 07-02 18:38:42.591: I/GLSUser(18183): [GLSUser] getTokenFromCache: [account: <ELLIDED:-25567>, callingPkg: com.google.android.googlequicksearchbox, service: oauth2:https://www.googleapis.com/auth/googlenow] 07-02 18:38:42.594: I/Auth.Core(18183): [TokenCache] Missing snowballing token: no granted scopes set. 07-02 18:38:42.633: I/ActivityManager(508): Start proc com.google.android.apps.docs for content provider com.google.android.apps.docs/.storagebackend.StorageBackendContentProvider: pid=12307 uid=10040 gids={50040, 9997, 1028, 3003, 1015} abi=armeabi-v7a 07-02 18:38:42.804: D/OpenGLRenderer(12239): Enabling debug mode 0 07-02 18:38:42.918: I/Choreographer(12239): Skipped 30 frames! The application may be doing too much work on its main thread. 07-02 18:38:42.965: I/art(508): Explicit concurrent mark sweep GC freed 37994(2MB) AllocSpace objects, 94(7MB) LOS objects, 30% free, 37MB/53MB, paused 4.302ms total 249.177ms 07-02 18:38:42.984: I/ActivityManager(508): Displayed com.android.documentsui/.DocumentsActivity: +825ms (total +935ms) 07-02 18:38:43.003: W/IInputConnectionWrapper(11741): showStatusIcon on inactive InputConnection 07-02 18:38:43.009: I/Keyboard.Facilitator(6721): onFinishInput() 07-02 18:38:43.023: I/ActivityManager(508): Killing 8196:com.google.android.apps.cloudprint/u0a35 (adj 15): empty #17 07-02 18:38:43.082: W/libprocessgroup(508): failed to open /acct/uid_10035/pid_8196/cgroup.procs: No such file or directory 07-02 18:38:43.098: E/PhotosPlugin(12307): Loading PhotosPlugin 07-02 18:38:43.333: E/WifiConfigStore(508): setLastSelectedConfiguration -1 07-02 18:38:43.427: I/GAv4(12307): Google Analytics 7.5.71 is starting up. To enable debug logging on a device run: 07-02 18:38:43.427: I/GAv4(12307): adb shell setprop log.tag.GAv4 DEBUG 07-02 18:38:43.427: I/GAv4(12307): adb logcat -s GAv4 07-02 18:38:43.450: W/GAv4(12307): AnalyticsReceiver is not registered or is disabled. Register the receiver for reliable dispatching on non-Google Play devices. See http://goo.gl/8Rd3yj for instructions. 07-02 18:38:43.477: W/GAv4(12307): CampaignTrackingReceiver is not registered, not exported or is disabled. Installation campaign tracking is not possible. See http://goo.gl/8Rd3yj for instructions. 07-02 18:38:43.498: W/GAv4(12307): AnalyticsService not registered in the app manifest. Hits might not be delivered reliably. See http://goo.gl/8Rd3yj for instructions. 07-02 18:38:43.664: D/Documents(12239): Update found 7 roots in 1381ms 07-02 18:38:43.683: I/ActivityManager(508): Killing 8238:com.google.android.apps.walletnfcrel/u0a24 (adj 15): empty #17 07-02 18:38:43.704: W/Documents(12239): Failed to restore stack: java.io.FileNotFoundException: Failed to find matching root for null 07-02 18:38:43.802: V/GLSActivity(18183): AuthDelegateWrapperCreated with selected intent: Intent { cmp=com.google.android.gms/.auth.DefaultAuthDelegateService } 07-02 18:38:43.803: D/Documents(12239): Current stack: 07-02 18:38:43.804: D/Documents(12239): * null 07-02 18:38:43.814: W/libprocessgroup(508): failed to open /acct/uid_10024/pid_8238/cgroup.procs: No such file or directory 07-02 18:38:43.853: D/Documents(12239): Update found 7 roots in 153ms 07-02 18:38:43.922: W/ResourceType(12239): No package identifier when getting value for resource number 0x00000000 07-02 18:38:43.922: W/PackageManager(12239): Failure retrieving resources for com.google.android.apps.photos: Resource ID #0x0 07-02 18:38:44.011: I/Keyboard.Facilitator(6721): onFinishInput() 07-02 18:38:44.039: W/ResourceType(12239): No package identifier when getting value for resource number 0x00000000 07-02 18:38:44.039: W/PackageManager(12239): Failure retrieving resources for com.google.android.apps.photos: Resource ID #0x0 07-02 18:38:44.086: D/Documents(12239): Before filtering 0, after 0 07-02 18:38:44.087: D/Documents(12239): Before filtering 3, after 3 07-02 18:38:44.088: D/Documents(12239): Before filtering 4, after 1 07-02 18:38:44.088: D/Documents(12239): Before filtering 6, after 0 07-02 18:38:44.088: D/Documents(12239): Found 4 of 4 recent queries done 07-02 18:38:48.391: D/Documents(12239): onFinished() [content://com.android.providers.media.documents/document/image%3A176] 07-02 18:38:48.406: D/CordovaActivity(11741): Request code = 5173 07-02 18:38:48.406: D/CordovaActivity(11741): did we get here? 07-02 18:38:48.406: D/CordovaActivity(11741): result = content://com.android.providers.media.documents/document/image%3A176 07-02 18:38:48.439: I/ActivityManager(508): Killing 8265:com.google.android.apps.magazines/u0a62 (adj 15): empty #17 07-02 18:38:48.447: I/Keyboard.Facilitator(6721): onFinishInput() 07-02 18:38:48.458: D/OpenGLRenderer(12239): endAllStagingAnimators on 0x55a29f2a60 (ListView) with handle 0x55a2b9c530 07-02 18:38:48.512: W/libprocessgroup(508): failed to open /acct/uid_10062/pid_8265/cgroup.procs: No such file or directory 07-02 18:38:49.513: I/chromium(11741): [INFO:CONSOLE(64)] "An error occurred while reading a file.", source: file:///android_asset/www/index.html (64) 07-02 18:38:49.513: I/chromium(11741): [INFO:CONSOLE(65)] "[object FileError]", source: file:///android_asset/www/index.html (65) 07-02 18:38:49.514: W/InputMethodManagerService(508): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@133d8b99 attribute=null, token = android.os.BinderProxy@9d0b452