FileReader
FileReader copied to clipboard
Can't get file contents
I am having an issue with trying to get the FileReader working properly. I have some code that is kinda working, and by that I mean when I log the file in FireFox it works somewhat. It shows me the file information but not the data in the file.
Also debugMode set to true doesn't do anything for me. It doesn't show me any debug information. Below is some test code I'm using. Please let me know if my example is wrong. In IE9 it just gives me errors that the target.files isn't populated at all. From some of the research I've done in the issues section here it refers to something called: FileAPIProxy? But when I try to follow that It is undefined.
$("#fileToUpload").fileReader({ filereader: '/js/filereader/filereader.swf', debugMode: true });
$("#fileToUpload").on("change", function (e) { console.log( e.target.files ); var file = e.target.files[0]; var fileReader = new FileReader();
console.log( file );
var d = fileReader.readAsDataURL( file );
console.info( d );
});
Also e.target.files is not an object in IE9. How would I get the file in IE9?
Linusx, I have the same issue. Did you find the solution?
I am having this issue in IE9 as well......
Here is how I got it to work. This is currently working on IE9 and Safari 5. Hope it helps.
/***************************************************************************************/ reader = new FileReader();
// Hack for IE. IE9 doesn't have filereader or the properties // Supposed to be included but it doesn't seem to work. if (is_ie) { reader.DONE = 2; }
reader.onload = function (e) { file_loaded(e, 'onload'); }; reader.onloadend = function (e) { file_loaded(e, 'onloadend'); }; reader.readAsText(file);
function file_loaded(e, type) { if (e.target.readyState === reader.DONE) { xml = e.target.result; upload_xml(xml); } }
Linusx, Thank you for sharing.
By the way, how do we get the "file" in the following line?
reader.readAsText(file);
In IE 9, I did try to get the file from e.target.files, but it complains that e.target.files is not an object in IE9.
Thanks for you help in advanced
If you get e.target.files is not an object, it likely means that the path to the filereader (as specified in the init method of fileReader) is not correct. I was having this problem as well and when I fixed that path it started working.