Чтение пути к загруженному файлу с помощью jquery - PullRequest
1 голос
/ 24 января 2011

У меня есть поле загрузки, и я хочу прочитать пользовательский ввод с помощью jquery

Мой HTML-код это

<input type="hidden" id="MAX_FILE_SIZE" value="1999500" name="MAX_FILE_SIZE">
<input type="file" id="upl-0" name="upl[]">
<input type="file" id="upl-1" name="upl[]">
<input type="file" id="upl-2" name="upl[]">

В моем jQuery я делаю это

var paths = '';
$('input[type=file]').each(function(){
    paths = paths + $(this).val();
});    
alert(paths);

но я получаю только имя файла, а не полный путь.Когда я выбираю C:/folder/file.doc, я получаю только file.doc.Я пытаюсь получить этот путь для повторного заполнения поля при неудачной попытке формы без необходимости повторного выбора файлов пользователем, поэтому мне нужен полный путь, чтобы это работало.Как я могу получить это?

1 Ответ

3 голосов
/ 24 января 2011

Как правило, вы не можете.Это будет огромная проблема безопасности, если вы сможете захватить полное имя пути и (повторно) заполнить значение поля загрузки (file) этим (или другим) файломимя с помощью JavaScript.

Вредоносный сайт может сделать это без ведома пользователя и загрузить (фактически украсть) файлы с чьего-либо компьютера.

Там может быть обходные пути для этого в нескольких браузерах (например, с использованием некоторых ActiveXObject), но они не поддерживаются широко (и более новые браузеры, как правило, предотвращают подобные действия).

...