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: [email protected]
For additional commands, e-mail: [email protected]