You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Ian Clelland (JIRA)" <ji...@apache.org> on 2014/04/02 19:53:15 UTC

[jira] [Resolved] (CB-6368) FileReader readAsBinaryString can't work in Android.

     [ https://issues.apache.org/jira/browse/CB-6368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ian Clelland resolved CB-6368.
------------------------------

       Resolution: Fixed
    Fix Version/s: 3.5.0

[~puchen] -- this should be fixed now in the latest cordova-android on Git. I'm not getting any more mobilespec failures at all, in file or otherwise.

> FileReader readAsBinaryString can't work in Android.
> ----------------------------------------------------
>
>                 Key: CB-6368
>                 URL: https://issues.apache.org/jira/browse/CB-6368
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin File
>    Affects Versions: 3.4.0
>         Environment: Android 4.0.4
>            Reporter: puchen
>            Assignee: Ian Clelland
>             Fix For: 3.5.0
>
>
> Run spec test, at spec.86 of 'Run File Tests', got error message
> D/CordovaLog(7621): : Line 1 : Uncaught SyntaxError: Unexpected token ILLEGAL
> E/Web Console(7621): Uncaught SyntaxError: Unexpected token ILLEGAL at :1
> Only Android
> 1.Can't get the success callback. When cordova called 'public PluginResult(Status status, byte[] data, boolean binaryString) ' method, the bytes encoded to string, and assigned to 'encodedMessage'. Then cordova sent the pluginResult, and called pluginResult.getMessage() in encodeAsJsMessage method.So the problem appeared, the callback result is the String type but can't be JSONObject.quote. Then cordova called callbackFromNative method in cordova.js, the 'callback.success.apply' worked error, the Cordova Log showed 'Uncaught SyntaxError: Unexpected token ILLEGAL'. The reason is 'readAsBinaryString' returned a binary string but can't be quoted, caused the js layer syntax error.
> 2.If we can get the success callback, but the result is not expected in spec.86, because 'Base64.encodeToString' can't return the correct result in PluginResult.java.



--
This message was sent by Atlassian JIRA
(v6.2#6252)