Will Fairclough created CB-14197:
------------------------------------

             Summary: createFile/writeFile does not consistently execute the 
'write' action resulting in files of size 0
                 Key: CB-14197
                 URL: https://issues.apache.org/jira/browse/CB-14197
             Project: Apache Cordova
          Issue Type: Bug
          Components: cordova-plugin-file
            Reporter: Will Fairclough


Occasionally when calling the *createFile* API the *write* action does not get 
called. It was not very consistent though and it is very hard to reproduce. It 
seems as though the *onload* event was not firing on the fileReader in the 
write method resulting in the file never getting written and no callbacks being 
fired.


{code:java}
if (data instanceof File || (!isProxySupportBlobNatively && supportsBinary && 
data instanceof Blob)) {
   var fileReader=new FileReader();
   /* eslint-enable no-undef */
   fileReader.onload=function () {
   // Call this method again, with the arraybuffer as argument
      FileWriter.prototype.write.call(that, this.result, true/* 
isPendingBlobReadResult */);
   };
   ...
}
{code}
We found we would notice the issue more consistently when running the app in 
the Android emulator subsequent times in a row with the command:


{code:java}
$ cordova run android{code}

We fixed this by requiring the FileReader module:
[https://github.com/suitespot/cordova-plugin-file/commit/2a0da7f1a43e88b801ee70a3462c3df829f4c927]

With this change we have not noticed the issue anymore.

I also believe this *ionic-native* issue is related to this:
[https://github.com/ionic-team/ionic-native/issues/2067#issuecomment-403600570]
 
 



--
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

Reply via email to