Pour résoudre le problème d’uploder un fichier sans charger une nouvelle page, diverses solution, utiliser un iframe, utiliser flash :
http://www.exforsys.com/tutorials/javascript/javascript-fileupload-object.html
http://www.captain.at/ajax-file-upload.php
http://www.dator.fr/jquery-file-upload-un-petit-plugin-pour-uploader-vos-fichier-avec-javascript/ NB : « Je pense que là-dedans, jQuery ne sert qu’à une chose: insérer un uploader Flash 8 dans la page et le configurer à la volée »
http://www.xorax.info/blog/programmation/127-ajax-upload-input-file.html##

Ou bien utiliser les interface de firefox 3 pour lire le contenu du fichier à la volée :
http://blog.igstan.ro/2009/01/pure-javascript-file-upload.html
« The getAsBinary() method will read the contents of the file and return them in binary representation »