Uploading a file to a FTP server from android phone?
android, apache-commons, apache-commons-net, ftp, java
Solution
See this...... This will help you rectify the probs in your code.
I have used the apache's commons library to upload and download an Audio file to and from the Server... see this...
Uploading:
public void goforIt(){
FTPClient con = null;
try
{
con = new FTPClient();
con.connect("192.168.2.57");
if (con.login("Administrator", "KUjWbk"))
{
con.enterLocalPassiveMode(); // important!
con.setFileType(FTP.BINARY_FILE_TYPE);
String data = "/sdcard/vivekm4a.m4a";
FileInputStream in = new FileInputStream(new File(data));
boolean result = con.storeFile("/vivekm4a.m4a", in);
in.close();
if (result) Log.v("upload result", "succeeded");
con.logout();
con.disconnect();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
Downloading:
public void goforIt(){
FTPClient con = null;
try
{
con = new FTPClient();
con.connect("192.168.2.57");
if (con.login("Administrator", "KUjWbk"))
{
con.enterLocalPassiveMode(); // important!
con.setFileType(FTP.BINARY_FILE_TYPE);
String data = "/sdcard/vivekm4a.m4a";
OutputStream out = new FileOutputStream(new File(data));
boolean result = con.retrieveFile("vivekm4a.m4a", out);
out.close();
if (result) Log.v("download result", "succeeded");
con.logout();
con.disconnect();
}
}
catch (Exception e)
{
Log.v("download result","failed");
e.printStackTrace();
}
}
Problem
Following is the code that's suppose to create a text document and upload it to my FTP server. For some reason it doesn't seem to work. I used to the libraries provided at http://lavalatwork.blogspot.tw/2010/09/using-apache-commons-ftp-library-in.html for communicating with the FTP server. ``` try { final String testString = new String("Hello"); FileOutputStream fOut = openFileOutput("samplefile.txt", MODE_WORLD_READABLE); OutputStreamWriter osw = new OutputStreamWriter(fOut); osw.write(testString); osw.flush(); osw.close(); } catch(IOException ex) { } FTPClient mFTP = new FTPClient(); try { // Connect to FTP Server mFTP.connect("192.168.10.101"); //mFTP.login("user", "password"); mFTP.setFileType(FTP.BINARY_FILE_TYPE); mFTP.enterLocalPassiveMode(); // Prepare file to be uploaded to FTP Server File file = new File(getFileStreamPath("samplefile.txt")+ ""); FileInputStream ifile = new FileInputStream(file); // Upload file to FTP Server mFTP.storeFile("filetotranfer",ifile); mFTP.disconnect(); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } ``` Any help would be appreciated.