Creo que la unica manera de tener una barra de progresion real (no falseada) es combinando jquery y flash. COsa que ya se hizo varias veces. Podes bajarte por ejemplo uploadify, pero hay muchos mas.
Estos combos
flash + jquery + ajax estan pensados mas que nada para uploads multiples... que necesitan progress bar. Pero si vas a cargar una sola imagen que pese mas de 500kb tambien es buena idea usarlos.
http://www.uploadify.com/demo/ http://pixeline.be/experiments/jqUploader/test.php http://www.phpletter.com/Demo/AjaxFileUpload-Demo/ http://valums.com/wp-content/uploads...emo-jquery.htm
De todas maneras, para upload de una sola imagen igual conviene usar un script prefabricado. Un
ajax form. Los scripts prefabricados por lo general permiten hacer cosas en pantalla antes de enviar algo, mientras se esta enviando algo, y cuando se recibe respuesta de ok o error.