Я использовал это:
$('input[type=file]').val()
чтобы выбрать имя файла, но он вернул полный путь, как в "C: \ fakepath \ filename.doc". Часть "fakepath" была на самом деле там - не уверена, должна ли она быть, но я впервые работаю с именем файла загрузки файлов.
Как я могу просто получить имя файла (filename.doc)?
javascript
jquery
get
filenames
Marky
источник
источник
C:\fakepath\
чтобы вредоносные сайты не могли использовать javascript для сбора информации о структуре каталогов вашего компьютера.Ответы:
или вы можете просто сделать (потому что это всегда
C:\fakepath
добавляется по соображениям безопасности):источник
Fakepath
с большой буквы F?Вам просто нужно сделать код ниже. Первый [0] предназначен для доступа к элементу HTML, а второй [0] - для доступа к первому файлу загрузки файла (я включил проверку на случай отсутствия файла):
источник
Chrome возвращается
C:\fakepath\...
из соображений безопасности - веб-сайт не должен иметь возможность получать информацию о вашем компьютере, например путь к файлу на вашем компьютере.Чтобы получить только часть имени файла в строке, вы можете использовать
split()
...jsFiddle .
... или регулярное выражение ...
jsFiddle .
... или
lastIndexOf()
...jsFiddle .
источник
Получить путь работы со всеми ОС
пример
Оба возвращаются
источник
var filename = $('input[type=file]').val().replace(/.*(\/|\\)/, '');
использует jQuery.Вот как я это делаю, это работает довольно хорошо.
В вашем HTML сделайте:
Затем в вашем js-файле создайте простую функцию:
Если вы делаете несколько файлов, вы также можете получить список, выполнив цикл:
источник
может быть, какое-то дополнение для избежания поддельного пути:
источник
Как насчет этого?
источник
Это должно быть JQuery? Или вы можете просто использовать нативный JavaScript
yourpath.split("\\")
для разделения строки на массив?источник
Получите первый файл из элемента управления, а затем получите имя файла, он проигнорирует путь к файлу в Chrome, а также сделает исправление пути для браузеров IE. При сохранении файла вы должны использовать
System.io.Path.GetFileName
метод, чтобы получить имя файла только для браузеров IEисточник
источник
источник
Эта альтернатива кажется наиболее подходящей.
источник
Здесь вы можете позвонить вот так Пусть это мой входной файл управления
Теперь вот мой Jquery, который вызывается после выбора файла
источник
Мы также можем удалить его, используя
match
источник