Получить полный путь от ввода [тип = файл] JavaScript - PullRequest
1 голос
/ 25 апреля 2011

Я знаю, что об этом спрашивали много раз, но это особый случай. Я работаю над онлайн-редактором HTML, используя функцию дизайна браузеров HTML 5 (да, я нашел полезное приложение для этой функции). Я хочу позволить разработчику загрузить страницу, но разработчики ленивы (как и я), поэтому я не хочу, чтобы они вводили полный путь к своей странице. Чтобы предотвратить это, я использую файл ввода (id = "temp"), который не попадает на сервер !!!

Я пытался открыть локальный HTML-файл в новом браузере несколькими способами, но относительные ссылки на странице не работают:

window.open(temp.files.item(0)?temp.files.item(0).getAsDataURL():'',title.value,'width='+screen.width+',height='+screen.height)

URL-адрес закодирован. Таким образом, ссылки в файле не работают, как в файле ZIP.

last = window.open('',title.value,'width='+screen.width+',height='+screen.height)
if(temp.files.item(0))
last.document.body.innerHTML = temp.files.item(0).getAsText("utf-8")

Этот код открывает пустую страницу и копирует код HTML на пустую страницу. Конечно, ссылки на этой странице тоже не работают. temp.value показывает только имя файла, а не путь.

1 Ответ

2 голосов
/ 25 апреля 2011

Браузеры просто не скажут вам информацию, которую вы хотите.Свойство «value» входных элементов «file» не содержит пути.

Если «страница» на самом деле является просто страницей HTML, то вы можете захотеть взглянуть на материал для чтения файлов HTML5 и посмотреть,Вы могли бы по крайней мере прочитать содержимое файла и поместить его в новое окно / вкладку браузера.Могут все еще быть проблемы с документами HTML, которые ожидают, что смогут найти вспомогательные файлы (CSS, изображения и т. Д.) По относительным путям.

...