[ https://issues.apache.org/jira/browse/CB-13923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joe Bowser resolved CB-13923. ----------------------------- Resolution: Fixed > CordovaResourceApi.java method OpenForReadResult returns a -1 length > -------------------------------------------------------------------- > > Key: CB-13923 > URL: https://issues.apache.org/jira/browse/CB-13923 > Project: Apache Cordova > Issue Type: Bug > Components: cordova-android > Affects Versions: cordova-android-7.0.0 > Environment: cordova 8.0.0 > cordova-android 7.0.0 > cordova-plugin-file 6.0.1 > Reporter: Anthony Ward > Assignee: Joe Bowser > Priority: Major > > Here are details to recreate: > [https://github.com/AnthonyWard/cordova-file-plugin-bug] > In *cordova-android* the CordovaResourceApi.java -> OpenForReadResult method > returns a -1 length in certain circumstances. > This has a knock on effect to the *cordova-plugin-file* > Filesystem.java > > readFileAtURL method, causing file corruption as each chunk effectively has > no end. > There is a possible fix in the plugin cordova-plugin-file already proposed > [https://github.com/apache/cordova-plugin-file/pull/217] > https://issues.apache.org/jira/browse/CB-13245?jql=text%20~%20%22CordovaResourceApi%22 > Or I propose it could be fixed upstream in cordova-android here: > [https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/CordovaResourceApi.java] > In the method OpenForReadResult there is one path (in the catch) that leaves > the length as -1 causing the defect > try > { > assetFd = assetManager.openFd(assetPath); > inputStream = assetFd.createInputStream(); length = assetFd.getLength(); > } > catch (FileNotFoundException e) > { > // Will occur if the file is compressed. > inputStream = assetManager.open(assetPath); > } > Adding length = inputStream.available(); in the catch fixes the issue for me, > but I'm not a java developer so can't evaluate if that's a bad idea for > another reason. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org