Я написал веб-сервис, в двух словах он использует openpop для получения сообщений электронной почты, которые содержат содержимое для вставки в базы данных и сохраняет вложения, являющиеся изображениями. Это прекрасно работает, когда я сохраняю изображения локально, он точно делает то, что, как предполагается. Теперь добавлено требование сохранить изображения в FTP-каталоге, поэтому я могу динамически создавать свои папки (они создаются на основе временной метки), и это хорошо работает. Моя проблема возникает, когда я пытаюсь сохранить их на ftp. Да, мое имя пользователя и пароль верны, иначе я бы не создал каталог.FtpWebRequest.GetRequestStream зависает и терпит неудачу.
Private Sub UploadFile(ByVal fileToSave As FileInfo, ByVal path As String)
Dim UploadRequest As FtpWebRequest = DirectCast(WebRequest.Create("ftp://UserName:[email protected]" & 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
Я попытался использовать пассивный False и двоичный False, а также сделал больше исследований по моей трассировке стека. И нашел this article, но пока нет решения. Любой вход будет оценен, я также posting another question on windows services для другой проблемы. Если вы хотите сделать снимок, другой вопрос не о ftp, а о разрешениях для службы на сервере Windows 2003
В случае, если кто-то еще наткнулся на это ... У меня была такая же проблема, но когда я перешел на UsePassive = True, он разобрал мою проблему. –