Я работаю в Windows 7 и учусь программировать для Android.
Мне нужно создать FTP-клиент для загрузки и скачивания файлов с бесплатных FTP-серверов. Я использую "www.drivehq.com", который является бесплатным ftp-пространством. Мне нужно знать, могу ли я использовать такое свободное пространство в качестве своего FTP-сервера, а если нет, то какой FTP-сервер можно использовать?
Я написал следующий код для входа на FTP-сервер, а также для загрузки файла. Он не показывает никаких ошибок, но я не мог проверить с эмулятора (android 2.2), был ли вход успешным. Файл не загружается, я отдельно проверил через сайт, используя свою учетную запись на этом FTP-сервере.
Как мне поступить дальше? Как я могу успешно войти в систему и загрузить файл?
FTPClient con = new FTPClient();
try
{
con.connect("http://www.ftpserver.com");
if (con.login("user name", "password"))
{
con.enterLocalPassiveMode(); // important!
String data = "test data";
ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
boolean result = con.storeFile("/sdcard/abc.jpg", in);
in.close();
if (result) Log.v("upload result", "succeeded");
//lblResult.setText("Login successful.");
}
}
catch (Exception e)
{
e.printStackTrace();
}
try
{
con.logout();
con.disconnect();
}
catch (IOException e)
{
e.printStackTrace();
}
lblResult.setText("Login successful.");
else {
lblResult.setText("Login failed. Username and/or password doesn't match.");
}
}
});
я не знаю, получаю ли я какое-либо исключение.
FTPClient con = new FTPClient();
try
{
con.connect("FTPserver");
if (con.login("username", "password"))
{
lblResult.setText("Login successful.");
con.enterLocalPassiveMode();
я изменился
con.connect("http://www.ftpserver.com");
в
con.connect("ftp.ftpserver.com");
когда я запускаю это, он печатает «вход в систему выполнен успешно», это означает, что я вошел в систему, не так ли? но файл не загружается.
String data = "test data";
ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
boolean result = con.storeFile("/text.txt", in);
что это за тестовые данные? "con.storefile" - что мне нужно заполнить в скобках? нужно ли загружать место назначения или путь к исходному файлу.
если это путь к исходному файлу, у меня есть данные на SD-карте, которые я создал виртуально для своего эмулятора, используя перспективу DDMS, я загрузил файлы на SD-карту, как я могу представить путь к этому файлу, если это пункт назначения местоположение, мне нужно указать URL-адрес каталога?