FTPClient的setFileTransferMode未生效

时间:2012-02-09 20:28:01

标签: java file ftp transfer ftp-client

以下代码用于获取文件(任何文件都很好,但是现在我只是使用图像),并将其上传到我的服务器(工作正常,等等等等)。唯一的问题是图片在转移后非常歪斜。主要建议是使用FTPClient的setFileTranferMode到FTPClient.BINARY_FILE_TYPE,这......目前没有效果......

以下是该方法的代码:

public void sendFile(File sendMe) throws IOException{
    f.connect(ip);
    f.login(username, password);

    String recipient=null;
    while(!f.changeWorkingDirectory(path+recipient)){
        recipient=JOptionPane.showInputDialog("What is the name of the computer you are sending this to?");
    }

    f.changeWorkingDirectory(path+recipient);
    f.setFileTransferMode(FTPClient.BINARY_FILE_TYPE);
    f.storeFile(sendMe.getName(), new BufferedInputStream(new FileInputStream(sendMe)));
    System.out.println("Stored!");

    f.disconnect();
    System.out.println("Uploaded");
}

与往常一样,任何帮助都将非常感谢!谢谢!

2 个答案:

答案 0 :(得分:5)

您没有使用正确的方法来设置文件类型。您应该使用setFileType代替。

f.setFileType(FTPClient.BINARY_FILE_TYPE);

答案 1 :(得分:-4)

为什么不在VB.NET或C#中构建自己的FTP客户端,而不是依赖第三方FTP客户端。这样,如果出现问题,您将获得更多控制权。以下是代码:

http://dot-net-talk.blogspot.com/2008/12/how-to-create-ftp-client-in-vbnet.html