У меня есть применение, которое экспортирует мне результат в архиве .csv.
Экспорт реализует несколько имен проектов, один из этих проектов у Вас есть в имени tag в HTML <b>
.
После того, как старается создать этот архив, у меня выходит Незаконный eror character in path.
Я старался поместить в двойной результат кавычки:
"" + ProjectTitle + ""
Но ошибка продолжает появляться у меня.
Как Вы могли бы избегать того, чтобы меня вытекли эта ошибка, и продолжать выполнение моей программы?
Большое спасибо перед рукой.
Используя Linq, ты можешь отлаживать все незаконные символы с единственной линией кода:
filename = Path.GetInvalidFileNameChars().Aggregate(filename, (current, c) => current.Replace(c.ToString(), string.Empty));
У имен файла есть серия не разрешенных символов. между ними они sГ-mbolos большего и меньшего, что использованы для redirecciГіn.
Я usarГ - в Path. GetInvalidFileNameChars , чтобы отлаживать символы, не позволенные начиная с имени проекта. Немного asГ-:
string GetValidFileName(string projectTitle) {
StringBuilder fileName = new StringBuilder();
List<char> invalidChars = Path.GetInvalidFileNameChars().ToList();
for (int i = 0; i < projectTitle.Length; i++) {
char c = projectTitle[i];
if (invalidChars.Contains(c))
fileName.Add('_');
else
fileName.Add(c);
}
return fileName.ToString();
}
Ошибка производится, потому что он существует много символов в именах файлов, которые не позволены для fileName. Поэтому имена файлов в операционных системах, поскольку windows ** у них Только есть символы A-Z, a-z, 0-9, типов места и в случаях не применения места они используют низкую схему "_", или простая схема "-"
ты Можешь пробовать одну soluciГіn немного проще, чем предыдущий posteada.
string fileName = "ProjectTitle";
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
fileName = fileName.Replace(c, '_');
}
простой Восток цикл находит недействительные символы в filename и remplaza из-за "_"
Я рекомендую тебе создавать маршруты в файлы с методом Сочетайтесь вместо того, чтобы прилагать цепи:
rutaCompleta = Path.Combine(nombreCarpeta, Path.GetFileName(nombreArchivo.Replace("/","\\")));
На этой странице ты можешь видеть больше методов для управления имен файлов и маршрутов (на английском):