Вы можете использовать Uploadify
Как указывало @Groovetrain, это основано на флэш-памяти, и вы можете рассмотреть что-то, используя вместо этого iframe.Но если прошивка не проблема, вот код для отображения изображения при загрузке:
Разметка
<input type="file" id="file_upload" name="file_upload" />
<a href="javascript:$('#file_upload').uploadifyUpload();">Upload Files</a>
<div id="preview"></div>
JS
$('#file_upload').uploadify({
'uploader' : '/uploadify/uploadify.swf',
'script' : '/uploadify/uploadify.php',
'cancelImg' : '/uploadify/cancel.png',
'folder' : '/uploads',
'fileExt' : '*.jpg;*.gif;*.png',
'fileDesc' : 'Image Files'
'onComplete' : function(event, ID, fileObj, response, data) {
$('#preview').append('<img src="uploads/' + fileObj.name + "/>');
}
});