Если вы хотите, чтобы PDF-файл отображался сразу после того, как пользователь выбрал файл, для этого вам нужен JavaScript.Привязать обработчик событий к событию onchange
ввода вашего файла, используя что-то вроде следующего кода:
$('#MyFileInput').on('change', function () {
var file = this.files[0];
if (file.type === 'application/pdf') {
var reader = new FileReader();
reader.onload = function(e) {
$('MyObjectTag').data = e.target.result;
}
reader.readAsDataURL(file);
}
});
При этом используется API-интерфейс файла JavaScript для чтения содержимого выбранного пользователем файла, изатем создает URL-адрес данных, который затем можно присвоить тегу объекта data
.Важно, чтобы вы проверили MIME-тип, чтобы кто-то не мог просто загрузить что-либо в ваш тег объекта.
Также обратите внимание, что на самом деле это ничего не «загружает».Пользователю все еще нужно будет отправить форму (или вам нужно будет отправить данные формы через AJAX), чтобы получить актуальный файл на ваш сервер.Однако это позволяет им предварительно просмотреть то, что они собираются загрузить, не вызывая обновления страницы или фактически делая что-либо необратимое (если это не тот файл, который они на самом деле хотели, они могут просто выбрать снова).Кроме того, поскольку требуется File API, он будет работать только в современных браузерах (IE 10+ и практически во всех других браузерах на планете).