как проверить безопасное имя файла с двойным (.) (.) "fileName ..pdf" - PullRequest
2 голосов
/ 23 сентября 2010

Я размышляю, как создать безопасное имя файла в моем веб-приложении. Я прочитал много постов здесь, в прошлом. Как проверить, является ли данная строка допустимым / действительным именем файла в Windows? , но Я не могу найти решение для этого примера, когда имя файла имеет вид «fileName ..pdf» (двойная точка), браузер не может открыть файл по крайней мере IE и является безопасным именем файла по крайней мере для Windows, поэтому как я могу найти это исключение и удалить двойную точку, то, что у меня сейчас есть, это следующий пример (который явно не удаляет двойную точку:

foreach (var c in Path.GetInvalidFileNameChars()) { fileName = fileName.Replace(c, '-'); }

1 Ответ

1 голос
/ 23 сентября 2010

Я бы потом сделал дополнительную проверку и заменил .. на .:

foreach (var c in Path.GetInvalidFileNameChars())
    fileName = fileName.Replace(c, '-');

fileName = fileName.Replace("..", ".");
...