Итак, у меня есть базовое приложение с графическим интерфейсом, в котором есть возможность загружать файлы изображений на ftp-сервер. Все работает нормально, кроме одного: файлы переименовываются во время загрузки. Новое имя файла будет полным путем к каталогу, в котором находится файл.
Итак, в моем случае у меня есть изображение на рабочем столе: C:\Users\Bob\Desktop\image.png
. Когда я выбираю файл в JfileChooser, имя по-прежнему просто image.png
. Но когда я нажму «Загрузить на FTP-сервер», файл будет переименован в C:\Users\Bob\Desktop\image.png
. Поэтому, если я хочу загрузить этот файл, я должен использовать этот путь: /home/user/users/xy/images/C:\Users\Bob\Desktop\image.png
, чтобы загрузить его. Не знаю, что вызывает эту проблему. Я использую FTPClient.putFileToPath(file,path)
для загрузки файлов, и он отлично работает, файлы будут загружены. Я попытался скопировать файл с моей машины на ftp-сервер с помощью Total Commander, и эта проблема никогда не возникала. Я предоставил фрагмент кода, который выполняет загрузку.
uploadmenu.getUploadBtn().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(!uploadMenuValidate()){
for(File f : img_container){
try {
//This still gives me the normal file name
System.out.println(f.getName());
ftp.putFileToPath(f, FtpClient.DEST_DIR+SQLData.APP_USERNAME+"/"+f);
} catch (IOException ex) {
ex.printStackTrace();
}
}
popup.setVisible(false);
}
}
});
У меня есть все файлы в массиве img_container
, которые я выбрал в массиве JFileChooser
.