【问题标题】:How to upload to FTP server in Java?如何在 Java 中上传到 FTP 服务器?
【发布时间】:2011-09-26 05:45:29
【问题描述】:

我有以下方法将文件上传到 FTP 服务器,但我没有收到任何错误,但文件在运行后没有出现在服务器上。可能是什么问题?

public static void upload_files(String un, String pw, String ip, String dir, String fn){
    FTPClient client = new FTPClient();
    FileInputStream fis = null;

    try {
        client.connect(ip);
        client.login(un, pw);

        String filename = dir+"/"+fn;
        fis = new FileInputStream(filename);

        client.storeFile(filename, fis);
        client.logout();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (fis != null) {
                fis.close();
            }
            client.disconnect();
            System.out.println("uploaded");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

【问题讨论】:

    标签: java file-upload upload ftp


    【解决方案1】:

    有许多可能的问题。假设您正在使用来自 Apache commons-net 的 FTPClient 3.x。如果使用其他东西,您可能应该在您的问题中指出这一点。想法:

    • 检查连接的回复状态以确保您按预期连接。 JavaDoc 中有一个关于如何执行此操作的示例。

    • 您的filename 变量是您要发送的本地文件的路径。这真的与您想用于在服务器上存储文件的路径相同(相对于 FTP 登录根目录)?可能是,但通常不是。如果不是,则需要更改 client.storeFile(...) 的第一个参数。

    • 大多数 FTP 服务器都可以记录所有操作。你能访问你的吗?如果是这样,那通常很快就能弄清楚出了什么问题。

    【讨论】:

      猜你喜欢
      • 2011-11-14
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      相关资源
      最近更新 更多