AVapps / FileReader

A FileReader polyfill for Internet Explore and Safari using Flash
192 stars 61 forks source link

Wrong behavior after the first file read #29

Open bamarni opened 11 years ago

bamarni commented 11 years ago

Hi,

When I read from the input file the first time, everything is correct, but when the file is changed and I read again, the load event will be triggered 2 times, when I change the file again, it's getting triggered 3 times, and so on... This is obviously wrong, the real Filereader object doesn't behaves like this.

Here are some logs :

debugMode : ,true 
File Input add...,my_input_id,false,,, 
MouseOverEvent...,my_input_id 
FileInput Event click[object Object] 
Browsing...,my_input_id 
File Input change...,my_input_id 
FileInput Event change[object Object] 
FileReader read...,my_input_id,A.JPG,readAsDataURL 
FileReader Event loadstart[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event load[object Object]true 
FileReader result...,my_input_id.A.JPG 
FileReader Event loadend[object Object]true 
FileInput Event click[object Object] 
Browsing...,my_input_id 
File Input change...,my_input_id 
FileInput Event change[object Object] 
FileReader read...,my_input_id,B.jpg,readAsDataURL 
FileReader Event loadstart[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event progress[object Object]true 
FileReader Event load[object Object]true <====== WRONG FROM HERE
FileReader result...,my_input_id.A.JPG 
FileReader Event loadend[object Object]true <=== TO HERE
FileReader Event load[object Object]true 
FileReader result...,my_input_id.B.jpg 
FileReader Event loadend[object Object]true 

@Jahdrien if you don't have time to fix this please give me some pointers and I'd be happy to submit a PR, thanks

bamarni commented 11 years ago

ping @Jahdrien

itsmattking commented 11 years ago

Occurs for me as well. Would love a fix.

bamarni commented 11 years ago

@mattking17 : here is the dirty hack I've done for now (https://github.com/bamarni/FileReader/commit/74546ba4019576878f62e1dc421131905088bd87).

I didn't go further in my investigation since it fixed my issue, I'm not sure though wether the issue is in this library or on the underlying swfObject it uses.

itsmattking commented 11 years ago

thanks @bamarni! I'm trying to remove all dependencies on jquery from this plugin and ended up rewriting an implementation myself. I think what I'm going to do is refactor it to only support one file handler at a time. It seems that the reader result comes in multiple times, it ends up triggering load events for all file handlers ever registered. This works for my case since I only care about people uploading one file at a time.

john-bai commented 11 years ago

ping @Jahdrien again.

encore1908 commented 10 years ago

ping @Jahdrien