FTP模式文件上传

FTP模式文件上传(Obatis-upload)是Obatis开源项目基于FTP模式文件上传类库,基于 org.apache.commons.commons-pool2 连接池方式,上传效率高。其中 com.Obatis.upload.ftp.FileUploadFactory 类为方法请求入口。upload() 方法为上传文件入口,提供多种形式的上传方式,上传成功后返回文件在FTP服务器的存储目录。参考如下:

/**
* 传入字节数组进行文件上传,同时传入文件名或者文件后缀
* @author HuangLongPu
* @param data 字节数组文件
* @param fileName 文件后缀名称
* @return
* @throws FileNotFoundException
*/
public static String upload(byte[] data, String fileName) {
ByteArrayInputStream inputStream = new ByteArrayInputStream(data);
return upload(inputStream, fileName, null);
}

delete()和deleteFile()方法为删除文件,传入ftp文件路径即可,参考如下:

/**
* 删除文件,提供文件名包括后缀
* @author HuangLongPu
* @param filePath 文件ftp所在路径
* @return
*/
public static boolean deleteFile(String filePath) {
boolean success = false;
FTPClient ftpClient = null;
try {
ftpClient = FtpPool.borrowObject();
ftpClient.deleteFile(filePath);
success = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
FtpPool.returnObject(ftpClient, 0);
} catch (Exception ioe) {
ioe.printStackTrace();
}
}
return success;
}

注意:上传文件前需初始化连接池,方法入口为 com.Obatis.upload.ftp.pool.FtpPool 类的 initConfig()方法,参考如下:

/**
* 初始化ftp连接 表示连接超时为默认10000毫秒 表示连接模式为被动模式
* @author HuangLongPu
* @param pathName
* @param ftpHost
* @param ftpPort
* @param ftpUsername
* @param ftpPassword
* @throws Exception
*/
public static void initConfig(String pathName, String ftpHost, int ftpPort, String ftpUsername, String ftpPassword) throws Exception {
initConfig(pathName, ftpHost, ftpPort, ftpUsername, ftpPassword, FtpConstant.TIME_OUT);
}