Загрузка FTP-файла с пробелами в имени подпапки
У меня возникла проблема с загрузкой zip-файлов из суб-директории ftp-сайта.
Он работает с любым другим типом файла, даже если в поддиректоре есть пробелы.
Если в sub-dir нет пробелов, то zip-файл тоже работает нормально.
Исключение составляет "удаленный сервер вернул ошибку: (550) файл недоступен (например, файл не найден, нет доступа)."
Net.FtpWebResponse.StatusDescription = " 550 Доступ запрещен."
большое спасибо
Что я уже пробовал:
Public Shared Sub TempDownload() Try Dim ftpRoot As String = "ftp://10.0.0.99/" Dim ftpUser As String = "FtpUserName" Dim ftpPass As String = "FtpPassword" Dim strMainFolder As String = "\\DOMAIN\FOLDER1" Dim myFolder As String = "DEVELOPMENT HOME 948" Dim myFile As String = "MyZipFileName.zip" Dim reqFTP As Net.FtpWebRequest Dim outputStream As New IO.FileStream(IO.Path.Combine(IO.Path.Combine(strMainFolder, myFolder), myFile), IO.FileMode.Create) reqFTP = Net.FtpWebRequest.Create(New Uri(ftpRoot & myFolder & "/" & myFile)) reqFTP.Method = Net.WebRequestMethods.Ftp.DownloadFile reqFTP.UseBinary = True reqFTP.Credentials = New Net.NetworkCredential(ftpUser, ftpPass) reqFTP.UsePassive = False '===== '### The exception occurs here Dim response As Net.FtpWebResponse = DirectCast(reqFTP.GetResponse(), Net.FtpWebResponse) '===== Dim ftpStream As IO.Stream = response.GetResponseStream() Dim cl As Long = response.ContentLength Dim bufferSize As Integer = 2048 Dim readCount As Integer Dim buffer As Byte() = New Byte(bufferSize - 1) {} readCount = ftpStream.Read(buffer, 0, bufferSize) While readCount > 0 outputStream.Write(buffer, 0, readCount) readCount = ftpStream.Read(buffer, 0, bufferSize) End While ftpStream.Close() outputStream.Close() response.Close() Catch ex As Net.WebException MessageBox.Show(DirectCast(ex.Response, Net.FtpWebResponse).StatusDescription) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub