0

我正在尝试从 c# 代码访问命令提示符,并想做 FTP 从 ftp 服务器获取和放置文件。通过使用以下代码,我可以连接到 FTP 服务器。但是,put 命令不起作用。请协助。

        var process = new Process {StartInfo = startInfo};
        process.Start();
        process.StandardInput.WriteLine(@"cd "+localPath);
        process.StandardInput.WriteLine(@"dir");
        process.StandardInput.WriteLine(@"ftp "+serverURL);
        process.StandardInput.WriteLine(@""+username);
        process.StandardInput.WriteLine(@""+password);
        process.StandardInput.WriteLine(@"cd "+serverPath);
        process.StandardInput.WriteLine(@"put "+fileName);
        process.StandardInput.WriteLine(@"bye");
        process.StandardInput.WriteLine(@"exit");

        process.WaitForExit();
4

1 回答 1

0

想到了两种可能:

  1. 你在 serverPath 中有写权限吗?(能够连接并不意味着您可以连接。)

  2. 在put之前,设置传输模式

    process.StandardInput.WriteLine(@"binary");

否则请描述系统响应...“不工作”可能意味着“不响应(超时)”、“返回错误 XXX”、“完成,似乎成功但文件未传输”等。

于 2019-05-16T19:52:22.113 回答