使用VB.NET将文件上传到FTP

时间:2013-05-16 10:27:11

标签: ftp ftpwebrequest socketexception

尝试使用下一个VB.NET代码将文件上传到FTP服务器时出错:

Dim miUri As String = "ftp://ftp.mydomain.com/folder/file.jpg"
Dim miRequest As Net.FtpWebRequest = Net.WebRequest.Create(miUri)
miRequest.Credentials = New Net.NetworkCredential("user", "pass")
miRequest.Method = Net.WebRequestMethods.Ftp.UploadFile
Try
    Dim bFile() As Byte = System.IO.File.ReadAllBytes("C:\carpeta\fichero.jpg")
    Dim miStream As System.IO.Stream = miRequest.GetRequestStream()
    miStream.Write(bFile, 0, bFile.Length)
    miStream.Close()
    miStream.Dispose()
Catch ex As Exception
    Throw New Exception(ex.Message & ". El Archivo no pudo ser enviado.")
End Try
  

ex.Message =“远程服务器出错:227进入被动模式   (X,X,X,X,21183)。 msgstr“ex.InnerException.Message = System.Net.Sockets.SocketException = {”尝试对无法访问的网络进行套接字操作x.x.x.x:5557“}

抛出异常的代码行是:

Dim miStream As System.IO.Stream = miRequest.GetRequestStream()

POINTS:

  • 如果我尝试通过FileZilla或其他FTP客户端连接,我可以毫无问题地连接。

  • 如果我禁用防病毒软件,我可以毫无问题地连接。

  • 在有人说出与防火墙相关的内容之前......

如果ANTIVIRUS开启,并且我通过FILEZILLA连接,我可以毫无困难地连接。

¿问题出在哪里? ¿在我的代码中我必须做些什么才能让它与防病毒软件一起运行? 如果FileZilla可以,我也必须... ...

非常感谢您的回复。 的问候,

2 个答案:

答案 0 :(得分:3)

抱歉这个问题。

最后是因为我安装了防病毒版本。

即使将应用程序作为受信任的应用程序,防病毒仍然会阻止该应用程序。

我安装了同一个防病毒软件的另一个版本,一切正常。

问候。

答案 1 :(得分:0)

“尝试对无法访问的网络x.x.x.x进行套接字操作:5557”

表示无法访问服务器。导致此问题的原因有很多。

  1. 服务器已关闭。
  2. 您的计算机正在阻止服务器连接传入/传出 (防火墙)
  3. 不可靠的互联网访问
  4. 您错误配置了连接字符串(服务器字符串)
  5. 基本上,大多数用户将遇到的问题是他们的防火墙阻止访问他们的FTP连接请求。要解决此问题,您必须允许应用程序通过文件墙。

    -Cheers