我正在尝试将一些文件上传到本地FTP服务器。可观察列表包含所有文件,并通过循环数组进行上传
我正在使用commons-net-3.6.jar
库。
目录和所有内容均已创建,但上传的图像已损坏。
颜色发生了巨大变化(看起来像是带有色彩的旧静态电视图像)
我在做什么错了?
注意!
我注意到的是,文件的大小以KB为单位相同,但字节大小略有不同。
ObservableList<File> uploadFiles = FXCollections.observableArrayList();
FTPClient client = new FTPClient();
InputStream fis = null;
FTPConnection con = new FTPConnection();
con.readData(); //gets username and password
uploadFiles = Something.getFiles(); //Gets Files
try {
client.connect(con.getServerIp());
client.login(con.getUsername(), con.getPassword());
String pathname = getPathname();
client.makeDirectory(pathname);
for (int i = 0; i < uploadFiles.size(); i++) {
fis = new FileInputStream(uploadFiles.get(i));
String filename = uploadFiles.get(i).getName();
String uploadpath = pathname+"/"+filename;
System.out.println("Uploading File : " + uploadpath);
client.storeFile(uploadpath, fis);
}
client.logout();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null) {
fis.close();
}
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
将文件类型设置为Binary会成功!
client.setFileType(FTP.BINARY_FILE_TYPE);