Sake562 Ответов: 2

В C# создать папку на FTP, который имеет имя и фамилию "как#"


Привет всем, я хочу создать папку ftp-сервер, который называется " as#", но когда я создаю" as#", имя папки делается"as".Я не знаю, что это имя "как" вместо "как#"

Что я уже пробовал:

Я пробовал эти коды

FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Создать(новый URI(@"ftp://localhost/s/as#" ));
requestDir.Способ = WebRequestMethods.По FTP.MakeDirectory;
requestDir. Credentials = new NetworkCredential(имя, пропуск);
requestDir.UsePassive = истина;
рекестдир.Тайм-аут = -1;
рекестдир.UseBinary = true;
requestDir.Сообщения keepalive = ложь;
Ftpwebresponse response = (FtpWebResponse)requestDir. GetResponse();
Поток ftpStream = ответ.GetResponseStream();

ftpStream.Закрывать();
ответ.Закрывать();

0x01AA

Строка запроса-Википедия, свободная энциклопедия[^], поиск"#". ..символ # может быть использован для дальнейшего указания подраздела (или фрагмента) документа...

Этот лучше:
Единый идентификатор ресурса-Википедия, свободная энциклопедия[^]

И я предлагаю вам проверить uri на предмет следующего:
Uri uri= new Uri(@"ftp://localhost/s/as#");

2 Ответов

Рейтинг:
4

Bernhard Hiller

Вам нужно URLEncode специальные символы. В вашем случае используйте

FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp://localhost/s/as%23"));


Sake562

кроме того, у меня есть небольшая проблема, связанная с письмами.Например, у меня есть буквы "ə ü ö "в моем пути, из-за ошибки отображения программы, когда я узнаю эти буквы

Рейтинг:
1

ZurdoDev

1. Создание папки с # в ней, на мой взгляд, плохая идея. Вы, скорее всего, столкнетесь со странными проблемами, если будете использовать специальные символы.
2. Вы можете использовать urlencode, чтобы закодировать специальные символы. HttpUtility.Метод UrlEncode (System. Web)[^]