android - Uploading file from SD Card to FileZilla Server -
my application uploading file sd card directory on filezilla ftp server. after running appliaction gives me exception unable resolve after many searches.
here log cat output:
06-24 11:06:53.715: w/system.err(1304): java.io.ioexception: simpleftp received unknown response when connecting ftp server: 220-filezilla server version 0.9.41 beta 06-24 11:06:54.055: w/system.err(1304): @ org.jibble.simpleftp.simpleftp.connect(simpleftp.java:74) 06-24 11:06:54.087: w/system.err(1304): @ com.example.upload1.mainactivity$uploadvideo.doinbackground(mainactivity.java:63) 06-24 11:06:54.167: w/system.err(1304): @ com.example.upload1.mainactivity$uploadvideo.doinbackground(mainactivity.java:1) 06-24 11:06:54.167: w/system.err(1304): @ android.os.asynctask$2.call(asynctask.java:287) 06-24 11:06:54.167: w/system.err(1304): @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:305) 06-24 11:06:54.167: w/system.err(1304): @ java.util.concurrent.futuretask.run(futuretask.java:137) 06-24 11:06:54.167: w/system.err(1304): @ android.os.asynctask$serialexecutor$1.run(asynctask.java:230) 06-24 11:06:54.167: w/system.err(1304): @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1076) 06-24 11:06:54.403: w/system.err(1304): @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:569) 06-24 11:06:54.403: w/system.err(1304): @ java.lang.thread.run(thread.java:856) and code mainactivity.java
import java.io.file; import org.jibble.simpleftp.simpleftp; import android.app.activity; import android.os.asynctask; import android.os.bundle; import android.os.environment; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.toast; //import com.kpbird.ftpdemo.r; public class mainactivity extends activity implements onclicklistener { //ftpclient client; /********* work dedicated ip ***********/ static final string ftp_host= "203.199.134.131"; /********* ftp username ***********/ static final string ftp_user = "a_gupta"; /********* ftp password ***********/ static final string ftp_pass ="aditi123"; button btn; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); btn = (button) findviewbyid(r.id.button1); btn.setonclicklistener(this); } public void onclick(view v) { uploadfile async = new uploadfile(); async.execute(); } class uploadfile extends asynctask<string, integer, string> { @override protected string doinbackground(string... params) { // ftpclient=uploadingfilestoftp(); seek { simpleftp ftp = new simpleftp(); ftp.connect(ftp_host, 21, ftp_user, ftp_pass); ftp.bin(); // alter new working directory on ftp server. ftp.cwd("callrecording"); // upload files. ftp.stor(new file(environment.getexternalstoragedirectory().getparent() + "/invite_json.txt")); // ftp.stor(new file("comicbot-latest.png")); // can upload inputstream, e.g. // ftp.stor(new fileinputstream(new file("test.png")), // "test.png"); // ftp.stor(somesocket.getinputstream(), "blah.dat"); // quit ftp server. ftp.disconnect(); } grab (exception e) { e.printstacktrace(); } homecoming null; } @override protected void onpreexecute() { super.onpreexecute(); // dialog.show(); } @override protected void onpostexecute(string result) { // todo auto-generated method stub super.onpostexecute(result); toast.maketext(mainactivity.this, "sent", toast.length_long).show(); } }
after many days worked on thing 1 time again , successfuly got things working. so, posting answer.hope help one.
this main activity code:
package com.example.ftpup; import it.sauronsoftware.ftp4j.ftpabortedexception; import it.sauronsoftware.ftp4j.ftpclient; import it.sauronsoftware.ftp4j.ftpdatatransferexception; import it.sauronsoftware.ftp4j.ftpdatatransferlistener; import it.sauronsoftware.ftp4j.ftpexception; import it.sauronsoftware.ftp4j.ftpillegalreplyexception; import java.io.file; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.ioexception; import java.io.inputstream; import java.io.outputstream; import android.app.activity; import android.app.dialog; import android.app.progressdialog; import android.os.asynctask; import android.os.bundle; import android.os.environment; import android.util.log; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.toast; public class mainactivity extends activity implements onclicklistener { /********* work dedicated ip ***********/ static final string ftp_host= "203.199.134.131"; /********* ftp username ***********/ static final string ftp_user = "a_gupta"; /********* ftp password ***********/ static final string ftp_pass ="aditi123"; public static final int dialog_download_progress = 0; button btn; ftpclient client = new ftpclient(); private progressdialog mprogressdialog; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); btn = (button) findviewbyid(r.id.uploadbutton); btn.setonclicklistener(this); } public void onclick(view v) { startdownload(); } // /******* used file upload , show progress **********/ private void startdownload() { //pick file //file f = new file("/sdcard/invite_json.txt"); // async task new downloadfileasync().execute(); } @override protected dialog oncreatedialog(int id) { switch (id) { case dialog_download_progress: mprogressdialog = new progressdialog(this); mprogressdialog.setmessage("downloading file.."); mprogressdialog.setprogressstyle(progressdialog.style_horizontal); mprogressdialog.setcancelable(false); mprogressdialog.show(); homecoming mprogressdialog; default: homecoming null; } } // upload sdcard file //public void uploadfile(file filename){ class downloadfileasync extends asynctask<string, string, string> { @override protected void onpreexecute() { super.onpreexecute(); showdialog(dialog_download_progress); }@override protected string doinbackground(string... filename) { string sdcard = environment.getexternalstoragedirectory().tostring(); file file = new file(sdcard+"/androrec/"); //file file2 = new file("/mnt/sdcard/callrecorderbackup"); file[] listoffiles = file.listfiles(); log.d("no. of files" ,filearraytostring(listoffiles)); try{ client.connect(ftp_host,21); (int = 0; <=listoffiles.length ; i++) { log.d("tag 4", "inside of ftp connect"); log.d("tag 1", "inside of loop"); if (listoffiles == null || listoffiles[i].isfile()) { log.d("tag 2", "inside of if"); string files = listoffiles[i].getname(); log.d("tag 3", "inside of files"); file filetoload = new file(sdcard+"/androrec/"+files); string uploadingfiles = filetoload.tostring(); log.d("files uploading server", uploadingfiles); client.login(ftp_user, ftp_pass); //client.connect(ftp_host,21); log.d("tag 4", "inside of ftp connect"); log.d("tag 5", "inside of ftp pass"); //client.settype(ftpclient.type_binary); //client.changedirectory("/"); log.d("tag 6", "inside of dir"); client.upload(filetoload); log.d("tag 7", "inside of download"); //out.write(buf, 0, len); //} //} // client.upload(in, new mytransferlistener()); } else{ } //client.disconnect(true); } } grab (illegalstateexception | ioexception | ftpillegalreplyexception | ftpexception e) { // todo auto-generated grab block e.printstacktrace(); } grab (ftpdatatransferexception e) { // todo auto-generated grab block e.printstacktrace(); } grab (ftpabortedexception e) { // todo auto-generated grab block e.printstacktrace(); } seek { client.disconnect(true); } grab (exception e2) { e2.printstacktrace(); } homecoming null; } /*} }*/ @override protected void onpostexecute(string unused) { dismissdialog(dialog_download_progress); } } // } string filearraytostring(file[] f){ string output = ""; string delimiter = "\n" ;// can new line \n tab \t etc... (int i=0; i<f.length; i++) { output = output + f[i].getpath() + delimiter; } homecoming output; } } please check log cat while application running know how working. thanks.
android android-asynctask filezilla ftp-server
No comments:
Post a Comment