if (StringUtils.isBlank(bdcdyh)) {
throw new ServiceRuntimeException("bdcdyh is null");
}
String fileName = signApprovedMapper.selectDzht(bdcdyh);
FTPClient ftpClient = new FTPClient();
String re = null;
InputStream inputStream = null;
try {
ftpClient.connect(ftpHost, ftpPort);//ip地址,端口号
ftpClient.login(user, password);//账户,密码
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//是否成功登录服务器
int reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
}
inputStream = ftpClient.retrieveFileStream(fileName);
if (inputStream != null) {
byte[] data = null;
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
data = new byte[inputStream.available()];
int len = 0;
while ((len = inputStream.read(data)) != -1) {
outStream.write(data, 0, len);
}
data = outStream.toByteArray();
Base64.Encoder encoder = Base64.getEncoder();
re = encoder.encodeToString(data);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ftpClient.isConnected()) {
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != inputStream) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return re;
查找ftp上的文件,并将文件转换为base64文件流返回
最新推荐文章于 2025-07-09 10:12:38 发布
该段代码展示了如何使用FTPClient连接服务器,下载指定文件并将其内容转化为Base64编码。首先检查BDCDYH是否为空,然后通过mapper获取文件名,连接FTP服务器并登录。设置文件类型为二进制,判断登录状态,读取文件内容并转换为字节数组,最后使用Base64编码器将字节数组编码为字符串。
1710

被折叠的 条评论
为什么被折叠?



