Я написал веб-сервис, в двух словах: он использует openpop для получения сообщений электронной почты, работает с содержимым для вставки в базы данных и сохраняет вложения, которые являются изображениями. Это прекрасно работает, когда я сохраняю изображения локально, это точно, что и должно быть. Теперь добавлено требование сохранять изображения в каталог FTP, чтобы я мог динамически создавать свои папки (они создаются на основе метки времени), и это хорошо работает. Моя проблема возникает, когда я пытаюсь сохранить их на FTP. Да, мои имя пользователя и пароль верны, иначе я бы не стал создавать каталог.
Private Sub UploadFile(ByVal fileToSave As FileInfo, ByVal path As String)
Dim UploadRequest As FtpWebRequest = DirectCast(WebRequest.Create("ftp://UserName:Passowrd@999.99.999.9" & path), FtpWebRequest)
UploadRequest.Credentials = New NetworkCredential("PicService", "grean.matching18")
UploadRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
UploadRequest.UseBinary = True
UploadRequest.UsePassive = True
' Const BufferSize As Integer = 2048
' Dim content(BufferSize - 1) As Byte, dataRead As Integer
Dim bFile() As Byte = System.IO.File.ReadAllBytes(fileToSave.ToString)
'UploadRequest.ContentLength = content.Length
Using FileStream1 As FileStream = fileToSave.OpenRead()
Try
'open request to send
Using RequestStream As Stream = UploadRequest.GetRequestStream
End Using
Catch ex As Exception
Finally
'ensure file closed
FileStream1.Close()
End Try
End Using
End Sub
Я также пытался использовать Passive False и Binary False, я провел больше исследований по трассировке стека.
И нашел эту статью , но решения пока нет. Любой вклад будет оценен, я также опубликовать еще один вопрос на Windows Services для другой проблемы. Если вы хотите попробовать, другой вопрос не о ftp, а о разрешениях для службы на Windows Server 2003