Это не так просто сделать, как можно было бы себе представить, а некоторые браузеры не позволяют автоматически запускать загрузку файлов из ненадежных элементов в целях безопасности.
Я рекомендую использовать сторонний плагин для загрузки файлов, такой как Plupload, или подделка пользовательской кнопки с использованием прогрессивного улучшения (кнопка загрузки невидимого файла с настраиваемой графикой под ней (конечно, не самые гибкие решения), как описано здесь:
http://filamentgroup.com/lab/jquery_custom_file_input_book_designing_with_progressive_enhancement/
Plupload события позволяют подключить к событиям, которые могут произойти во время AJAX загрузки файлов, и делать вещи с информацией загрузки Смотрите эту страницу на примерах данных, что ответ вы могли бы. получить:
http://www.plupload.com/example_events.php
Вы можете получить данные ответа, как это:
id=p16in5el9ne2fc1rd08120in081
name=denim.png
size=20623
loaded=20623
percent=100
status=DONE
target_name=p16in5el9ne2fc1rd08120in081.png
И, конечно, вы можете изменить то, что сервер возвращает на успешной загрузки, чтобы иметь возможность получить полный абсолютный URL к загруженному образ.
После того, как эти данные, вы можете подключить в него и переключить изображение делать что-то вроде этого (с JQuery):
// Called when a file has finished uploading
FileUploaded: function(up, file, info) {
$('#id_of_the_image').attr('src', 'uploads/' + file.target_name);
}
См. Мой ответ, он содержит примеры кода и демонстрации о том, как добиться соответствующего эффекта. –
Plupload позволяет отправлять изображения на ваш сервер и возвращать загруженное местоположение изображения, которое затем можно отображать, где бы вы ни находились на своей странице. –
Я не вижу, как вы можете просматривать изображения без перезагрузки с помощью Plupload – jacktheripper