2016-04-06 6 views
0

Я вижу много вариантов в Интернете, но это не то, что я хочу. Я хочу получить имя изображения, но с расширением с JS. Даже если путь к файлу изображения и изображения что-то вроде:Извлечь имя файла изображения с расширением - JS

папку/folder1/fol.der/my.image.jpg

Результат должен быть:

my.image.jpg

+0

_ «Я хочу получить имя изображения» _ Как извлекается файл изображения? Что вы пробовали? – guest271314

+0

Я хочу удалить путь к изображению, но не изображение + расширение. См. Мой собственный ответ ниже. – gdfgdfg

ответ

0

Разделите строку на массив и получите последний элемент.

var filePath = "folder/folder/fol.der/my.image.jpg"; 
var pathArray = filePath.split("/"); 
var fileName = pathArray[pathArray.length-1]; // returns my.image.jpg 
+0

Это другое, спасибо. – gdfgdfg

0

Да я нашел решение:

var img = "/path1/pa.th2/dfgdfgdfg.ghfgh.jpg" 
var basename = img.replace(/\\/g,'/').replace(/.*\//, ''); 

Результат:

dfgdfgdfg.ghfgh.jpg

Если это может помочь для кого-то.

0

Вероятно, более сложный, чем требуется:

var dir = "folder/folder1/fol.der/my.image.jpg"; 

var getFileName = function(dir){ 
    return dir.replace(/[\w\.\/]+(?=\/)\/([\w/.]+)/g, "$1"); 
} 

getFileName(dir); 

Функция GetFileName принимает строку каталога и возвращает строку имя файла. Он выполняет регулярное сравнение с любым количеством каталогов, соответствует всем после последнего сопоставленного каталога, заменяет строку dir соответствующей группой и возвращает ее.

+0

Рецензент здесь! Можете ли вы дать небольшой контекст, объясняющий, что делает ваш ответ, а не просто блок кода? Благодаря! – Suever

+0

Абсолютно! Отредактировано с объяснением. –

Смежные вопросы