我在Windows 7中工作,我正在学习Android的代码。Android FTP客户端应用程序 - 如何登录到FTP服务器,可以使用什么FTP服务器?
我需要创建一个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?
我不明白你的问题,如果有任何。你说你可以登录和上传,然后你问“我可以登录并上传文件吗?我需要做什么?” 。有人关闭这个问题 – 2011-12-30 10:15:35
我试着登录代码,但我无法登录和上传文件。在运行应用程序时,我输入了用户名和密码,然后显示“应用程序意外关闭”。我的目标是将文件从SDCard传输到远程FTP服务器,通过利用免费的FTP服务器提供移动用户拥有无限内存的错觉,我以为使用“http://www.drivehq.com”。我可以使用这个FTP服务器吗?或者我应该去别的吗?如果你知道任何事情,你能建议我吗? – VSK 2012-01-01 16:42:11
你有例外吗? – 2012-01-01 17:58:39