public byte[] getPhoto(String photoName) throws SocketException, IOException {
int reply;
ftpClient.connect("192.168.0.114", 21);
ftpClient.login("test", "test");
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.err.println("FTP站点连接失败!");
return null;
} else {
InputStream is = ftpClient.retrieveFileStream(photoName);
byte[] imgByte = this.readStream(is);
return imgByte;
}
}
public byte[] readStream(InputStream inStream) {
ByteArrayOutputStream bops = new ByteArrayOutputStream();
int data = -1;
try {
while ((data = inStream.read()) != -1) {
bops.write(data);
}
return bops.toByteArray();
} catch (Exception e) {
return null;
}
}
用这两个方法,将存在FTP站点上的图片可以转换成字节流,然后发送到前台可以显示
<span style="white-space:pre"> </span>ftpClient.connect("192.168.0.114", 21);//连接FTP站点的IP和端口
ftpClient.login("test", "test");//FTP的账号和密码
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);//将文件以二进制的方式传送