I am currently performing file handling in my personal app cross browser. I have some limitations though in that my approach sends a signal to a node app that tells the OS to execute the file according to the default app for that file type. I could allow users to determine what files to associate with what applications but I have not written that.