< тип ввода = "файл" > для IE дает полный путь, нужно только имя файла

Вы также можете использовать новый Intl.Collator().compare , для каждого MDN он более эффективен при сортировке массивов. Недостатком является то, что он не поддерживается старыми браузерами. MDN заявляет, что он вообще не поддерживается в Safari. Необходимо проверить его, поскольку он утверждает, что поддерживается Intl.Collator .

При сравнении большого количества строк, например при сортировке больших массивов, лучше создать объект Intl.Collator и использовать функцию, предоставленную свойством сравнения

blockquote >
["Foo", "bar"].sort(Intl.Collator().compare); //["bar", "Foo"]

33
задан royhowie 4 December 2014 в 17:49
поделиться

1 ответ

Смысл ввода файла - предоставить файл . Имена, которые идут с ним, - это «все, что производитель браузера хочет использовать», они не гарантируют, что они вообще имеют какое-либо отношение к имени файла в файловой системе.

Вы не можете изменить то, что отправляет браузер.

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

22
ответ дан 27 November 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: