Я разрабатываю приложение для Android для подключения к FTP-серверу и загрузки видеофайлов, размещенных на FTP-сервере, и сохранения в папку на SD-карте. Для этого я использую библиотеку «org.apache.commons.net.ftp.FTPClient». Я могу подключиться к серверу и получить список имен файлов на сервере из своего приложения, но после загрузки видеофайлов они копируются в папку, которую я дал, и там размер указан как 10 байтов, и они не могут быть воспроизведены (Похож на испорченный). Может ли кто-нибудь предложить мне способ преодолеть эту проблему. Код, который я использовал, прилагается здесь.Загрузить видеофайл с FTP-сервера в Android
** Подключение к FTP-серверу **
public FTPClient mFTPClient = null;
public boolean ftpConnect(String host, String username,String password, int port)
{
try {
mFTPClient = new FTPClient();
mFTPClient.connect(host,port);
// now check the reply code, if positive mean connection success
if (FTPReply.isPositiveCompletion(mFTPClient.getReplyCode()))
{
// login using username & password
boolean status = mFTPClient.login(username, password);
mFTPClient.setFileType(FTP.BINARY_FILE_TYPE);
mFTPClient.enterLocalPassiveMode();
return status;
}
}
catch(Exception e)
{
System.out.println("Error: could not connect to host " + host);
e.printStackTrace();
}
return false;
}
Скачать файлы
public boolean ftpDownload(String srcFilePath, String desFilePath)
{
boolean status = false;
try {
FileOutputStream desFileStream = new FileOutputStream(desFilePath);
status = mFTPClient.retrieveFile(srcFilePath, desFileStream);
desFileStream.close();
return status;
} catch (Exception e) {
System.out.println("download failed");
e.printStackTrace();
}
return status;
}