Welcome to my site... Have a nice day...

Monday, 9 September 2013

[JAVA] File upload with FTP


Hi :)

Today i will show you how a file transfer's a server with JAVA :)

Lets began :)

First you need that library:
import org.apache.commons.net.PrintCommandListener;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
 
 Apache Commons Net API
  

// Codes Began
 
 
package com.kacak41.FTP;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

import org.apache.commons.net.PrintCommandListener;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class FTPUploader {
 
 FTPClient ftp = null;
 
 public FTPUploader(String host, String user, String pwd) throws Exception{
  ftp = new FTPClient();
  ftp.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
  int reply;
  ftp.connect(host);
  reply = ftp.getReplyCode();
  if (!FTPReply.isPositiveCompletion(reply)) {
   ftp.disconnect();
   throw new Exception("Exception in connecting to FTP Server");
  }
  ftp.login(user, pwd);
  ftp.setFileType(FTP.BINARY_FILE_TYPE);
  ftp.enterLocalPassiveMode();
 }
 public void uploadFile(String localFileFullName, String fileName, String hostDir)
   throws Exception {
  try(InputStream input = new FileInputStream(new File(localFileFullName))){
  this.ftp.storeFile(hostDir + fileName, input);
  }
 }

 public void disconnect(){
  if (this.ftp.isConnected()) {
   try {
    this.ftp.logout();
    this.ftp.disconnect();
   } catch (IOException f) {
    // do nothing as file is already saved to server
   }
  }
 }
 public static void main(String[] args) throws Exception {
  System.out.println("Start");
  FTPUploader ftpUploader = new FTPUploader("ftp.yoursite/yourserver.com", "ftpUser", "ftpPassword");
  //FTP server path is relative. So if FTP account HOME directory is "/home/kacak41/public_html/" and you need to upload 
  // files to "/home/kacak41/public_html/wp-content/uploads/image2/", you should pass directory parameter as "/wp-content/uploads/image2/"
  ftpUploader.uploadFile("D:\\kacak41\\images\\MyImage.png", "image.png", "/wp-content/uploads/image2/");
  ftpUploader.disconnect();
  System.out.println("Done");
 }

}
 
 
 
 
//Codes End 


With this code you can upload your files to your server or your site:)


Have a nice day...

0 comments: