Загрузка...
 
Страница 1
Автор
Сообщение
Alex 
Admin ]Alex

Регистрация: 08.08.2005
Сообщений: 1689
Откуда: Moscow, Tver - Ru, Cz


C:\ fakepath

 
создано 04.03.2013 18:26:18

При использовании на вебсайте формы загрузки файлов, частенько возникает необходимость проверить и обработать имя файла с помощью JavaScript кода.

Не важно какие цели Вы при этом преследуете, важно что у Вас есть в этом необходимость. С недавних пор при такой проверке проявились проблемы, которые как обычно связаны с нашим горячо любимым браузером Internet Explorer от фирмы Микрософт. Его разработчики спят и видят - как бы сделать так, чтобы об их трудах не забыли.

Вот и в этот раз они вместо того, чтобы просто отдать значение имени файла написанное в поле input.value, как это делают все нормальные браузеры, придумали отдавать его дополнив, по их мнению, очень важной информацией в виде дописки типа C:\fakepath\.

Зачем они это делают трудно понять. Но видимо это от большого желания показать путь к файлу, но JavaScript-у это не разрешено. Вот и получается такой путь C:\fakepath\.

Попробуйте посмотреть работу кода типа этого в разных браузерах:








Решение проблемы в коде JavaScript выглядит так:


var pos = fileName.lastIndexOf("\\");
if(pos != -1)
{
fileName = fileName.substr(pos+1);
}


Здесь мы находим последний слэш в строке имени файла, принятого по input.value и отбрасываем все, что было до него, включая и сам слэш.







«Важнейшей задачей для нас является сейчас: учиться и учиться» В.И. Ленин



Reply 
Регистрация
 Зарегистрироваться
Комментарии

Рейтинг@Mail.ru