0

我必须使用 FTP 服务器上传和下载文件,但我遇到了问题。尽管有很多解决方案,但似乎没有任何效果。

我使用secureftp-test.com作为测试FTP 服务器。

下面是上传我使用FTPClient storeFile 方法的代码,但它似乎不起作用。

public static void main(String[] args) {
    String server = "ftp.secureftp-test.com";
    int port = 21;
    String user = "test";
    String pass = "test";

    FTPClient ftpClient = new FTPClient();
    try {

        ftpClient.connect(server, port);
        boolean login = ftpClient.login(user, pass);
        System.out.println("login " + login);
        ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE);
        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

        File firstLocalFile = new File("D:/jetty.pdf");

        String firstRemoteFile = "myfile.pdf";
        InputStream inputStream = new FileInputStream(firstLocalFile);

        System.out.println("Start uploading first file");
        boolean done = ftpClient.storeFile(firstRemoteFile, inputStream);
        inputStream.close();
        if (done) {
            System.out.println("The first file is uploaded successfully.");
        } else {
            System.out.println("upload failed");
        }

    } catch (IOException ex) {
        System.out.println("Error: " + ex.getMessage());
        ex.printStackTrace();
    } finally {
        try {
            if (ftpClient.isConnected()) {
                ftpClient.logout();
                ftpClient.disconnect();
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

每次输出都是“上传失败”。我不明白我错在哪里。

4

1 回答 1

0

你的端口不正确。它用:

FTPS via Auth TLS/SSL and implicit FTP over SSL on port 990

另外,如果您仔细阅读该网站,则禁止上传:

Chilkat 为希望测试安全 FTP 客户端功能的任何人提供此 FTPS 测试帐户。您可以连接到 ftp.secureftp-test.com,使用密码“test”以“test”身份登录,然后下载服务器上存在的任何文件。“测试”帐户还可以检索目录列表。但是,它被限制将文件上传到服务器。

参考:secureftp-test.com

于 2013-04-15T06:50:23.187 回答