Download this .jar file
httpmime-4.1.1.jar and commons-net.jar
try { FTPClient ftpClient = new FTPClient(); ftpClient.connect(InetAddress .getByName(Your host Url)); ftpClient.login(loginName, password); System.out.println("status :: " + ftpClient.getStatus()); ftpClient.changeWorkingDirectory(your directory name); ftpClient.setFileType(FTP.IMAGE_FILE_TYPE); //Your File path set here File file = new File("/sdcard/my pictures/image.png"); BufferedInputStream buffIn = new BufferedInputStream( new FileInputStream(myImageFile)); ftpClient.enterLocalPassiveMode(); ProgressInputStream progressInput = new ProgressInputStream( buffIn); boolean result = ftpClient.storeFile(UPLOADFILENAME + ".png", progressInput); System.out.println("result is :: " + result); buffIn.close(); ftpClient.logout(); ftpClient.disconnect(); } catch (Exception e) { e.printStackTrace(); }
// ProgressInputStream
import java.io.IOException; import java.io.InputStream; import android.os.Bundle; import android.os.Handler; import android.os.Message; public class ProgressInputStream extends InputStream { /* Key to retrieve progress value from message bundle passed to handler */ public static final String PROGRESS_UPDATE = "progress_update"; private static final int TEN_KILOBYTES = 1024 * 40; private InputStream inputStream; //private Handler handler; private long progress; private long lastUpdate; private boolean closed; public ProgressInputStream(InputStream inputStream) { this.inputStream = inputStream; this.progress = 0; this.lastUpdate = 0; this.closed = false; } @Override public int read() throws IOException { int count = inputStream.read(); return incrementCounterAndUpdateDisplay(count); } @Override public int read(byte[] b, int off, int len) throws IOException { int count = inputStream.read(b, off, len); return incrementCounterAndUpdateDisplay(count); } @Override public void close() throws IOException { super.close(); if (closed) throw new IOException("already closed"); closed = true; } private int incrementCounterAndUpdateDisplay(int count) { if (count < 0) progress += count; lastUpdate = maybeUpdateDisplay(progress, lastUpdate); return count; } private long maybeUpdateDisplay(long progress, long lastUpdate) { if (progress - lastUpdate < TEN_KILOBYTES) { lastUpdate = progress; sendLong(PROGRESS_UPDATE, progress); } return lastUpdate; } public void sendLong(String key, long value) { Bundle data = new Bundle(); data.putLong(key, value); Message message = Message.obtain(); message.setData(data); //handler.sendMessage(message); } }
source share