Quando uma aplicação precisa salvar um arquivo, ou criar uma pasta que o usuário define o nome ou depende de algo que um usuário preenche é necessário um certo cuidado com esses dados pois dependendo da informação que o usuário coloca pode ocorrer o erro “Illegal characters in path.”.
Para evitar isso é necessário toda vez que for salvar um arquivo executar uma rotina parecida com essa:
public static string RemoverCaracteresInvalidosArquivo(string path) { if (path.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) >= 0) { foreach (char c in System.IO.Path.GetInvalidFileNameChars()) { path = path.Replace(c.ToString(), string.Empty); } } return path; }
Neste caso é tirado esse carácter e substituído por uma string vazia, mas é possível fazer trocando os valores por um valor qualquer.