我在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