Пробелы в именах файлов, вызывающие проблему - PullRequest
3 голосов
/ 24 мая 2011
FileInfo[] FileList1 = Dir.GetFiles("*.doc", SearchOption.AllDirectories);
foreach (FileInfo FI in FileList1)
{
    Response.Write(
        "<td><a href= view5.aspx?file=" + strheadlinesid + "\\" + 
        FI.Name + " target=_self;> " +FI.Name + "</a></td>");
}

Когда я пытался напечатать имена файлов с пробелами, он добавляет «#» в месте пробела в имени файла, что создает проблемы для меня.Кто-нибудь может сказать решение

Ответы [ 2 ]

5 голосов
/ 24 мая 2011

Кодировка URL гарантирует, что все браузеры будут правильно передавать текст в строках URL.Такие символы, как знак вопроса (?), Знак амперсанда (&), знак косой черты (/) и пробелы, могут быть усечены или повреждены некоторыми браузерами.В результате эти символы должны быть закодированы в тегах или в строках запроса, где строки могут быть повторно отправлены браузером в строке запроса.

fileName = HttpServerUtility.UrlEncode(fileName);
2 голосов
/ 24 мая 2011

Попробуйте использовать кавычки!

FileInfo[] FileList1 = Dir.GetFiles("*.doc", SearchOption.AllDirectories);
foreach (FileInfo FI in FileList1)
{
    Response.Write(
        "<td><a href=\"view5.aspx?file=" + strheadlinesid + "\\" + 
        FI.Name + "\" target=\"_self\"> " +FI.Name + "</a></td>");
}
...