Мне нужно передать по FTP файл в каталог. В .Net мне нужно использовать файл в папке назначения для создания соединения, поэтому я вручную поместил Blank.dat на сервер с помощью FTP. Я проверил доступ (ls -l), и он составляет -rw-r--r--. Но когда я пытаюсь подключиться к папке FTP, я получаю: "Удаленный сервер выдал ошибку: (553) Имя файла не разрешено". Исследования, которые я провел, говорят, что это может быть вызвано проблемой прав доступа, но, как я уже сказал, у меня есть права на просмотр файла и я могу запустить ls из папки. Какие еще причины могут вызвать эту проблему и есть ли способ подключиться к папке без необходимости указывать файл?
byte[] buffer;
Stream reqStream;
FileStream stream;
FtpWebResponse response;
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(new Uri(string.Format("ftp://{0}/{1}", SRV, DIR)));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(UID, PASS);
request.UseBinary = true;
request.Timeout = 60000 * 2;
for (int fl = 0; fl < files.Length; fl++)
{
request.KeepAlive = (files.Length != fl);
stream = File.OpenRead(Path.Combine(dir, files[fl]));
reqStream = request.GetRequestStream();
buffer = new byte[4096 * 2];
int nRead = 0;
while ((nRead = stream.Read(buffer, 0, buffer.Length)) != 0)
{
reqStream.Write(buffer, 0, nRead);
}
stream.Close();
reqStream.Close();
response = (FtpWebResponse)request.GetResponse();
response.Close();
}