per effettuare un upload asincrono puoi utilizzare l'oggetto FileReader e passare con ajax l'immagine in base64, FileReader è supportato solo da IE10+. Per un supporto dei browser piu vecchi devi appoggiarti ad un iframe. D'accordo con Andrea, operazione per nulla semplice, ti conviene utilizzare dei plugin già pronti.