【问题标题】:Network.Downloadfile always returns "No such file or directory"Network.Downloadfile 总是返回“没有这样的文件或目录”
【发布时间】:2010-11-23 17:07:12
【问题描述】:

我正在尝试使用 My.Computer.Network.DownloadFile 从 ftp 服务器下载文件。每次我尝试使用以下方式下载文件时:

My.Computer.Network.DownloadFile("ftp://xxx.xx.xxx.40/datafiles/sm/viewcontrol.ip","c:\rdp\viewcontrol.ip","用户名","密码",false,10000,true)

我在要下载的文件中收到以下错误:

服务器错误信息

ISA 服务器:扩展错误消息:

200 类型设置为 I。

200 PORT 命令成功。

550 /datafiles/sm/viewcontrol.ip: 没有这样的文件或目录。

我也尝试过 WebClient 并得到完全相同的错误。我只在代码中遇到这个问题。文件夹和文件名正确,用户可以使用 DOS FTP 和 Internet Explorer 手动下载文件。

【问题讨论】:

    标签: .net networking ftp download


    【解决方案1】:

    回答 1

    • 检查文件名和完整路径不区分大小写,或大小写正确。
    • 检查您使用的是完全相同的用户名和密码,可能存在一个用户而不是另一个用户。

    回答 2

    指定的Username 和Password 参数可能仅用于HTTP。尝试在 URL 中同时指定用户名和密码,例如

    ftp://username:password@xxx.xx.xxx.40/datafiles/sm/viewcontrol.ip
    

    回答者 3

    absolute paths 的使用有些奇怪,请尝试将您的代码更改为包含 %2f,如下所示:

    My.Computer.Network.DownloadFile("ftp://xxx.xx.xxx.40/%2fdatafiles/sm/viewcontrol.ip","c:\rdp\viewcontrol.ip","username","password",false,10000,true)
    

    【讨论】:

    • 一切都是小写的,这是正确的大小写。代码中使用了相同的用户名和密码,当我手动下载文件时。
    • 添加了额外的答案 2 和 3
    【解决方案2】:

    为了让它工作,我转而使用 FTPWebRequest。最初,我遇到了同样的错误。但是,由于正在下载的文件是一个文本文件,我将 UseBinary 属性更改为 False 并且它起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      • 2013-09-26
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多