file://
указывает только на локальную файловую систему на компьютере пользователя и часто подвергается более жестким мерам безопасности. На него просто нельзя положиться, браузер даже разрешит file://
доступ к протоколу.
Единственный способ безопасно сделать то, что вы хотите, - это полностью отправить форму с файлом и использовать язык на стороне сервера (PHP, ASP.NET, Rails, Django, выберите), чтобы отобразить страницу с ' симпатичный макет данных формы, а также предварительный просмотр документа. Вот как это делают форумы: вы нажимаете кнопку «Предварительный просмотр», и ваше сообщение отправляется на сервер, сервер представляет его для вашего одобрения, вы одобряете его, и оно сохраняется в базе данных и публикуется. Если вы не одобрите его, он будет удален и никогда не попадет в базу данных.
Если вы не хотите, чтобы пользователь покинул страницу, вы можете свернуть это в своей проверке и выполнить обратную передачу AJAX. Существуют библиотеки javascript, специально предназначенные для сериализации и бесшумной передачи форм, а затем для возврата результатов. JQuery Forms является хорошим примером этого (примечание: требуется JQuery ).