[ https://issues.apache.org/jira/browse/CB-1533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13462029#comment-13462029 ]
alexander casassovici commented on CB-1533: ------------------------------------------- fileEntry.file( function (file){ console.log("got file"); FileReader.readAsText(file); callback_success(FileReader.result) }, callback_fail ); this works, it's ugly ... :( > cannot read file > ---------------- > > Key: CB-1533 > URL: https://issues.apache.org/jira/browse/CB-1533 > Project: Apache Cordova > Issue Type: Bug > Components: iOS > Affects Versions: 2.0.0 > Environment: tested on ios6 in emulator > Reporter: alexander casassovici > Assignee: Shazron Abdullah > > ///// > //summary > //// > using documentation, i'm trying to write than read a file > writing works > file is actually created on fs > when writing, everything goes fine until FileReader.readAsText which does > nothing at all... > ///// > //example code > //// > <!DOCTYPE html> > <html> > <head> > <title>FileReader Example</title> > <script type="text/javascript" charset="utf-8" > src="cordova-2.0.0.js"></script> > <script type="text/javascript" charset="utf-8"> > // Wait for Cordova to load > // > document.addEventListener("deviceready", onDeviceReady, false); > // Cordova is ready > // > function onDeviceReady() { > window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS_w, > fail); > } > function gotFS(fileSystem) { > fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail); > } > function gotFileEntry(fileEntry) { > fileEntry.file(gotFile, fail); > } > function gotFile(file){ > readDataUrl(file); > readAsText(file); > } > function readDataUrl(file) { > var reader = new FileReader(); > reader.onloadend = function(evt) { > console.log("Read as data URL"); > console.log(evt.target.result); > }; > reader.readAsDataURL(file); > } > function readAsText(file) { > var reader = new FileReader(); > reader.onloadend = function(evt) { > console.log("Read as text"); > console.log(evt.target.result); > }; > reader.readAsText(file); > } > function fail(error) { > console.log(error.code); > } > function gotFS_w(fileSystem) { > fileSystem.root.getFile("readme.txt", {create: true, exclusive: > false}, gotFileEntry_w, fail); > } > function gotFileEntry_w(fileEntry) { > fileEntry.createWriter(gotFileWriter, fail); > } > function gotFileWriter(writer) { > writer.onwriteend = function(evt) { > console.log("contents of file now 'some sample text'"); > window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, > fail); > }; > writer.write("some sample text"); > } > function fail(error) { > console.log(error.code); > } > </script> > </head> > <body> > <h1>Example</h1> > <p>Read File</p> > </body> > </html> > /////// > /// log output > ////// > 2012-09-24 20:16:31.731 Diveboard[39848:c07] Multi-tasking -> Device: YES, > App: YES > 2012-09-24 20:16:31.745 Diveboard[39848:c07] Application windows are expected > to have a root view controller at the end of application launch > 2012-09-24 20:16:31.831 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":"wifi","keepCallback":false} > 2012-09-24 20:16:31.832 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('NetworkStatus0',{"status":1,"message":"wifi","keepCallback":false}); > 2012-09-24 20:16:31.833 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"name":"iPhone > Simulator","uuid":"E7446481-3D85-48D5-97F4-E80B6FE034EC","platform":"iPhone > Simulator","version":"6.0","cordova":"2.0.0"},"keepCallback":false} > 2012-09-24 20:16:31.833 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('Device1',{"status":1,"message":{"name":"iPhone > Simulator","uuid":"E7446481-3D85-48D5-97F4-E80B6FE034EC","platform":"iPhone > Simulator","version":"6.0","cordova":"2.0.0"},"keepCallback":false}); > 2012-09-24 20:16:31.840 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"name":"persistent","root":{"name":"Documents","isFile":false,"isDirectory":true,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents"}},"keepCallback":false} > 2012-09-24 20:16:31.841 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File2',{"status":1,"message":{"name":"persistent","root":{"name":"Documents","isFile":false,"isDirectory":true,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents"}},"keepCallback":false}); > 2012-09-24 20:16:31.842 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"name":"readme.txt","isFile":true,"isDirectory":false,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt"},"keepCallback":false} > 2012-09-24 20:16:31.842 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File3',{"status":1,"message":{"name":"readme.txt","isFile":true,"isDirectory":false,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt"},"keepCallback":false}); > 2012-09-24 20:16:31.843 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"type":"","name":"readme.txt","size":16,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt","lastModifiedDate":1348510579000},"keepCallback":false} > 2012-09-24 20:16:31.843 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File4',{"status":1,"message":{"type":"","name":"readme.txt","size":16,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt","lastModifiedDate":1348510579000},"keepCallback":false}); > 2012-09-24 20:16:31.844 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":16,"keepCallback":false} > 2012-09-24 20:16:31.844 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File5',{"status":1,"message":16,"keepCallback":false}); > 2012-09-24 20:16:31.845 Diveboard[39848:c07] [INFO] contents of file now > 'some sample text' > 2012-09-24 20:16:31.846 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"name":"persistent","root":{"name":"Documents","isFile":false,"isDirectory":true,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents"}},"keepCallback":false} > 2012-09-24 20:16:31.846 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File6',{"status":1,"message":{"name":"persistent","root":{"name":"Documents","isFile":false,"isDirectory":true,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents"}},"keepCallback":false}); > 2012-09-24 20:16:31.847 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"name":"readme.txt","isFile":true,"isDirectory":false,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt"},"keepCallback":false} > 2012-09-24 20:16:31.847 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File7',{"status":1,"message":{"name":"readme.txt","isFile":true,"isDirectory":false,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt"},"keepCallback":false}); > 2012-09-24 20:16:31.848 Diveboard[39848:c07] PluginResult:toJSONString - > {"status":1,"message":{"type":"","name":"readme.txt","size":16,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt","lastModifiedDate":1348510591000},"keepCallback":false} > 2012-09-24 20:16:31.848 Diveboard[39848:c07] PluginResult > toSuccessCallbackString: > cordova.callbackSuccess('File8',{"status":1,"message":{"type":"","name":"readme.txt","size":16,"fullPath":"/Users/alex/Library/Application > Support/iPhone > Simulator/6.0/Applications/980AABAA-FBAD-449A-9D9D-B32EB668D59E/Documents/readme.txt","lastModifiedDate":1348510591000},"keepCallback":false}); -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira