Передача массива обратно в JavaScript

«Полное руководство» запрещенных имен файлов не будет работать в Windows, поскольку оно хранит имена файлов, а также символы. Да, символы типа * " ? и другие запрещены, но существует бесконечное количество имен, состоящих только из допустимых символов, которые запрещены. Например, пробелы и точки являются действительными именами имен файлов, но имена, состоящие только из этих символов, запрещены.

Windows не различает символы верхнего и нижнего регистра, поэтому вы не можете создать папку с именем A, если один из них a уже существует. Хуже, по-видимому, такие имена, как PRN и CON, и многие другие, зарезервированы и не разрешены. Windows также имеет несколько ограничений длины; имя файла, действительное в одной папке, может стать недействительным, если оно перемещено в другую папку. Правила для именования файлов и папок находятся в MSDN.

Вы не можете, в общем, использовать созданный пользователем текст для создания имен каталога Windows. Если вы хотите разрешить пользователям называть все, что они хотят, вы должны создавать безопасные имена, такие как A, AB, A2 и др., Хранить имена пользователей и их эквиваленты пути в файле данных приложения и выполните сопоставление маршрутов в вашем приложении.

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

-10
задан Pradnya Sinalkar 5 June 2018 в 09:06
поделиться