Ошибка при использовании # в имени файла в каталоге ftp C#
удаленный сервер вернул ошибку(550 файлов недоступны).
насколько мне известно, # может использоваться в именовании файлов, тогда почему я получаю ошибку для доступа к файлам и папкам, которые имеют # в своем имени?
получить ошибку здесь на getrequeststream();
Что я уже пробовал:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(string.Format("{0}/{1}", server, fileName))); request.Method = WebRequestMethods.Ftp.UploadFile; request.Credentials = new NetworkCredential(userName, passowrd); Stream ftpStream = request.GetRequestStream();
Member 12899279
Запрос FtpWebRequest = (FtpWebRequest)WebRequest.Create(new Uri(string.Формат("{0}/{1}", сервер, имя файла)));
запрос.Method = WebRequestMethods.Ftp.UploadFile;
запрос.Учетные данные = новый NetworkCredential(имя пользователя, passowrd);
FtpStream трансляция = запрос.Метод getrequeststream();
FileStream fs = файл.OpenRead(полное имя);
byte[] buffer = новый байт[1024];
двойной итог = (двойной)fs.Длина;
int byteRead = 0;
двойное чтение = 0;
делать
{
если (!backgroundWorker1.CancellationPending)
{
byteRead = fs.Read(буфер, 0, 1024);
ftpStream.Запись(буфер, 0, byteRead);
read += (double)byteRead;
двойной процент = чтение / итого * 100;
backgroundWorker1.ReportProgress((int)процент);
}
}
while (byteRead != 0);
ПС.Рядом();
ftpStream.Закрывать();
Richard MacCutchan
Попробуйте сделать это без символа#.
Member 12899279
конечно, я попробовал его для файлов и папок без#, и это прекрасно работает, но это не то решение, у меня есть много папок и файлов, которые я хочу использовать и иметь # в их названии
Richard MacCutchan
Попробуйте использовать управляющий код #
вместо хэш-символа. Хотя может быть какая - то другая причина, по которой сервер отклоняет его.
MadMyche
или %23
Richard MacCutchan
Конечно, я забыл о них.
Member 12899279
вы говорите, что я должен использовать % вместо #?Если нет, то любезно введите, что вы говорите, например, у меня есть папка с именем C# теперь, как я должен ввести ее, чтобы избежать этой ошибки?
Richard MacCutchan
Где я это сказал?