Откройте Google DevTools и вкладку Console и введите следующее:
"Peace".match(/(\w)(\w)(\w)/)
Запустите его, и вы увидите:
["Pea", "P", "e", "a", index: 0, input: "Peace", groups: undefined]
Двигатель JavaScript
RegExp захватить три группы, предметы с индексами 1,2,3. Теперь используйте неинтегрирующую метку, чтобы увидеть результат.
"Peace".match(/(?:\w)(\w)(\w)/)
Результат:
["Pea", "e", "a", index: 0, input: "Peace", groups: undefined]
Это очевидно, что не захватывает группу.
В целях безопасности браузеры этого не допускают, то есть JavaScript в браузере не имеет доступа к файловой системе, однако, используя API файлов HTML5, только Firefox предоставляет свойство mozFullPath
, но если вы попытаетесь получить значение, оно вернет пустая строка:
$('input[type=file]').change(function () {
console.log(this.files[0].mozFullPath);
});
Поэтому не теряйте время.
edit: Если вам нужен путь к файлу для чтения файла, вы можете использовать API FileReader . Вот связанный вопрос о SO: Предварительный просмотр изображения перед его загрузкой.
Вы можете, если вы загружаете целую папку для вас
<input type="file" webkitdirectory directory multiple/>
, событие изменения будет содержать:
.target.files[...].webkitRelativePath: "FOLDER/FILE.ext"
вы никогда не должны этого делать .... и я думаю, что попробовать его в последних браузерах бесполезно (из того, что я знаю) .. все последние браузеры, с другой стороны, не позволят этого ....
некоторые другие ссылки, которые вы можете пройти, чтобы найти обходной путь, как получение значения serveride, но не в clientide (javascript)
Полный путь от ввода файла с помощью jQuery Как получить путь к файлу из формы ввода HTML в Firefox 3
Вы не можете этого сделать - браузер не допустит этого из-за проблем с безопасностью.
Когда файл выбирается с использованием типа input type = file, значение свойства value зависит о значении параметра безопасности «Включить локальный каталог при загрузке файлов на сервер» для зоны безопасности, используемой для отображения веб-страницы, содержащей входной объект.
Полноценное имя файла выбранного файла возвращается, только когда этот параметр включен. Когда параметр отключен, Internet Explorer 8 заменяет путь локального диска и каталога на строку C: \ fakepath \, чтобы предотвратить неприемлемое раскрытие информации.
blockquote>И другие
Вы пропустили
);
это в конце функции события изменения.Также не создавайте функцию для события изменения, а просто используйте ее, как показано ниже,
<script type="text/javascript"> $(function() { $('#fileUpload').on('change',function () { var filePath = $(this).val(); console.log(filePath); }); }); </script>
имеет элемент массива и вызов массива files
содержит все необходимые вам материалы
var file = document.getElementById("upload");
file.addEventListener("change", function() {
for (var i = 0; i < file.files.length; i++) {
console.log(file.files[i].name);
}
}, false);
Вы не можете. Безопасность останавливает вас за то, что вы знаете что-либо о системе подачи клиентского компьютера - у нее может и не получиться! Это может быть MAC, ПК, планшет или интернет-холодильник - вы не знаете, не можете знать и не знать. И пусть вам полный путь может дать вам некоторую информацию о клиенте - особенно, если это сетевой диск, например.
Фактически вы можете получить его в определенных условиях, но для этого требуется элемент управления ActiveX, и не будет работать в 99,99% случаев.
Вы все равно не можете использовать его для восстановления файла в исходное местоположение (так как вы абсолютно не контролируете, где хранятся загрузки, или даже если они хранится), так что на практике это не так много для вас.
Вы имели в виду это?
$('#i_file').change( function(event) {
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',tmppath);
});
Вы можете использовать следующий код для получения рабочего локального URL для загруженного файла:
<script type="text/javascript">
var path = (window.URL || window.webkitURL).createObjectURL(file);
console.log('path', path);
</script>
Попробуйте это:
Это даст вам временный путь, а не точный путь, вы можете использовать этот скрипт, если хотите показать выбранные изображения, как в этом примере jsfiddle (Попробуйте, выбрав изображения как а также другие файлы): -
Вот код: -
HTML: -
<input type="file" id="i_file" value="">
<input type="button" id="i_submit" value="Submit">
<br>
<img src="" width="200" style="display:none;" />
<br>
<div id="disp_tmp_path"></div>
JS: -
$('#i_file').change( function(event) {
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',URL.createObjectURL(event.target.files[0]));
$("#disp_tmp_path").html("Temporary Path(Copy it and try pasting it in browser address bar) --> <strong>["+tmppath+"]</strong>");
});
Не то, что вы искали, но может быть, это может помочь вам где-то.