Я использую этот класс для загрузки некоторых изображений с FTP с одного сервера на другой:
Protected Sub FTPUpload(sender As Object, e As EventArgs)
Dim ftp As String = "ftp://IPSERVER"
Dim login As String = "ftplogin"
Dim Mpass As String = "ftpmpass"
Dim ftpFolder As String = "serverpath"
Dim fileBytes As Byte() = Nothing
Dim fileName As String = Path.GetFileName(FileUpload1.FileName)
Using fileStream As New StreamReader(FileUpload1.PostedFile.InputStream)
fileBytes = Encoding.UTF8.GetBytes(fileStream.ReadToEnd())
fileStream.Close()
End Using
Try
Dim request As FtpWebRequest = DirectCast(WebRequest.Create(ftp & ftpFolder & fileName), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(login, Mpass)
request.ContentLength = fileBytes.Length
request.UsePassive = True
request.UseBinary = True
request.ServicePoint.ConnectionLimit = fileBytes.Length
request.EnableSsl = False
Using requestStream As Stream = request.GetRequestStream()
requestStream.Write(fileBytes, 0, fileBytes.Length)
requestStream.Close()
End Using
Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
lblMessage.Text &= fileName & " uploaded.<br />"
response.Close()
Catch ex As WebException
Throw New Exception(TryCast(ex.Response, FtpWebResponse).StatusDescription)
End Try
End Sub
ftp работает, но когда я проверяю результат, исходный файл, который начинался с:
IHDR Ô ˜ «š7= TPLTEGpLí…ÞÌÍãÜÜñº¼Û (øððè +ýúúôäåÁ‹Ò¹¹ðž øÒÓÎ
будет возвращено в ftp следующим образом:
IHDR � � ��7= TPLTEGpL큅�������� (���� +���������ҹ������
Пожалуйста, где я не прав?