¿Cómo cargar una carpeta local a un servidor FTP usando JSP?
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; p >
}
}
/**
* 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; p>
if(fileName == null || fileName.length() == 0 ||| localPath == null ||| localPath.length() == 0){
retorno exitoso ; p>
}
intente {
Archivo archivo = nuevo Archivo(localPath);
if(!file.isDirectory()) { p>
archivo.mkdir();
if(!file.isDirectory()){
archivo.mkdir();