Einbinden der benötigten Bibliothek von Apache mit Eclipse: Anleitung.
Code:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import android.util.Log;
import de.egraveyard.android.view.ItemUploader;
public class FtpUpload {
private static final String TAG = ItemUploader.class.getSimpleName();
String serverAdress = "ftp.lala.de";
String userName = "ftpUser";
String password = "lala";
String serverDirectory = "/android";
//String localFilePath = "/data/anr/traces.txt";
//String remoteFileName = "traces2.txt";
public boolean uploadImage(String localFilePath, String remoteFileName) {
boolean result = false;
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(this.serverAdress);
ftpClient.login(this.userName, this.password);
ftpClient.changeWorkingDirectory(this.serverDirectory);
ftpClient
.setFileType(org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE);
} catch (IOException e) {
Log.d(TAG,
"IOException ftp Client could not be established.controll Login, Server, Pw.");
}
Log.d(TAG, "FTP Server Response: " + ftpClient.getReplyString());
BufferedInputStream buffIn = null;
try {
buffIn = new BufferedInputStream(new FileInputStream(localFilePath));
} catch (FileNotFoundException e) {
Log.d(TAG,
"FileNotFoundException: local File to be uploaded not Found: " + localFilePath);
}
ftpClient.enterLocalPassiveMode();
try {
result = ftpClient.storeFile(remoteFileName, buffIn);
} catch (IOException e) {
Log.d(TAG, "IOException: remote File could not be accessed");
}
try {
buffIn.close();
} catch (IOException e) {
Log.d(TAG, "IOException: buffIn.close()");
}
try {
ftpClient.logout();
ftpClient.disconnect();
} catch (IOException e) {
Log.d(TAG, "IOException: ftpClient close/logout");
}
return result;
}
}
