Java FTP客户机';s setFileTransferMode未生效

Java FTP客户机';s setFileTransferMode未生效,java,file,ftp,transfer,ftp-client,Java,File,Ftp,Transfer,Ftp Client,下面的代码旨在获取一个文件(任何文件都很好,但现在我只使用图像),并将其上传到我的服务器(这很有效,等等)。唯一的问题是,图片在转印后是非常倾斜的。主要的建议是将FTPClient的setFileTransferMode用于FTPClient.BINARY_FILE_类型,这。。。在这一点上没有效果 下面是该方法的代码: public void sendFile(File sendMe) throws IOException{ f.connect(ip); f.login(use

下面的代码旨在获取一个文件(任何文件都很好,但现在我只使用图像),并将其上传到我的服务器(这很有效,等等)。唯一的问题是,图片在转印后是非常倾斜的。主要的建议是将FTPClient的setFileTransferMode用于FTPClient.BINARY_FILE_类型,这。。。在这一点上没有效果

下面是该方法的代码:

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");
}

一如既往,任何帮助都将不胜感激!谢谢

您没有使用正确的方法设置文件类型。你应该改用


与其依赖第三方FTP客户端,不如在VB.NET或C#中构建自己的FTP客户端。这样,如果出现问题,您将有更多的控制权。下面是实现这一点的代码:

f.setFileType(FTPClient.BINARY_FILE_TYPE);