Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo cargar una carpeta local a un servidor FTP usando JSP?

¿Cómo cargar una carpeta local a un servidor FTP usando JSP?

FTPClient;

importar org.apache.commons.net.ftp.FTPFile;

importar org.apache.commons.net.ftp.FTPReply */

private String remoteDir = "/home/demo";

public FTPUpload() { }

public FTPUpload(String nombre de host, puerto int, String nombre de usuario, String contraseña, String remotoDir) {

this.hostname = nombre de host

this.port = puerto

this.username = nombre de usuario

this.contraseña; = contraseña;

this.remoteDir = remotoDir;

this.password = contraseña. RemoteDir = RemoteDir;

}

/**

* Conéctese al servidor FTP e inicie sesión

* @param hostName Nombre de host del servidor FTP

* @param hostName = nombre de host

* @param portPuerto del servidor FTP

* @param nombre de usuario Cuenta de inicio de sesión FTP

p>

* @param contraseña Contraseña de inicio de sesión FTP

*/

FTPClient privado connectFTPServer () {

prueba {

//1. Crear objeto FTPClient

ftpClient = new FTPClient();

Conéctese al servidor FTP

// Si usa el puerto predeterminado, puede usar ftp.connect(url) para conectarse directamente al servidor FTP

ftpClient.connect(hostname, puerto); // Conectándose al servidor FTP

// System.out.println("Conectándose a la dirección del servidor ftp --> ftp://" + nombre de host + ":" + puerto + " Éxito. ..Iniciar sesión" );

//3. Determinar si la conexión al servidor ftp es exitosa

int respuesta = ftpClient.getReplyCode();

// System.out println("Un valor de retorno que comienza con 2 será verdadero: " + respuesta);

// Un valor de retorno que comienza con 2 será verdadero

if (. FTPReply.isProgress());

/3! FTPReply.isPositiveCompletion(respuesta)) {

ftpClient.disconnect();

return null;

}

//4. Inicie sesión en el servidor FTP.

Nombre de usuario y contraseña

ftpClient.login(nombre de usuario, contraseña);

System.out.println("Inicio de sesión exitoso."

Volver a ftpClient;

} catch (Excepción e) {

e.printStackTrace();

ftpClient = null;

Devuelve ftpClient;

}

}

/**

* Subir archivos al servidor FTP

* @param filePathName Subir archivos El nombre de ruta completo

* Devuelve verdadero si tiene éxito; de lo contrario, devuelve falso

*/

public boolean uploadFile(String filePathName) {

// Inicialmente indica error en la carga

éxito booleano = false;

prueba {

// Crear objeto FTPClient

ftpClient = connectFTPServer ();

// Crear carpeta

boolean flag = ftpClient.makeDirectory(remoteDir

if(flag) {

System.out .println("Creando carpeta: " + remoteDir );

}

// Vaya al directorio de carga especificado

boolean flag0 = ftpClient. changeWorkingDirectory(remoteDir);

// Almacena los archivos cargados en el directorio especificado

if(filePathName == null || filePathName.length() == 0){

devuelve éxito;

}

Nombre de archivo de cadena = filePathName.setControlEncoding("GBK");

// ftpClient.setFileType(FTPClient .BINARY_FILE_TYPE) ;//Establecer tipo de archivo

boolean flag1 = ftpClient.storeFile(nombre de archivo, entrada

System.out.println( "Ir al directorio de carga especificado:" + flag0 +); "Almacenar archivos cargados en el directorio especificado:" + flag1);

input.close(); // Cerrar el flujo de entrada

ftpClient.logout(); / / Salir de ftp;

éxito = verdadero; // Carga exitosa.

} catch (Excepción e) {

e.printStackTrace();

} finalmente {

if (ftpClient.isConnected( )) {

prueba {

ftpClient.disconnect();

} captura (IOException ioe) {

}

}

}

Regreso exitoso

}

/**

* Will Descargue el archivo desde el directorio especificado por el servidor FTP al directorio local OK

* @param fileName El nombre del archivo a descargar

* @param localPath La ruta para guardar el archivo descargado al local. La ruta donde se guardarán localmente los archivos descargados

* @param showlist Si se muestra la lista al descargar (true show)

* @ @ return

*/

public boolean downFile(String fileName, String localPath, boolean showlist) {

//Inicialmente indica error en la descarga

boolean Success = false;

if(fileName == null || fileName.length() == 0 ||| localPath == null ||| localPath.length() == 0){

retorno exitoso ;

}

intente {

Archivo archivo = nuevo Archivo(localPath);

if(!file.isDirectory()) {

archivo.mkdir();

if(!file.isDirectory()){

archivo.mkdir();