String logoUrl ="ftp://ftpuser:ftpuser@192.168.3.26:21/cjj/123/5.png";
InputStream ftpPictureStream = MethodUtil.getFtpPictureStream(logoUrl);
if(ftpPictureStream!=null){
//复制流
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = ftpPictureStream.read(buffer)) > -1 ) {
baos.write(buffer, 0, len);
}
baos.flush();
// 打开一个新的输入流
InputStream ftpPictureStream1 = new ByteArrayInputStream(baos.toByteArray());
InputStream ftpPictureStream2 = new ByteArrayInputStream(baos.toByteArray());
BufferedImage src = javax.imageio.ImageIO.read(ftpPictureStream1);
int width = src.getWidth();
int height = src.getHeight();
UploadPic uploadPic = new UploadPic();
// 获取配置文件信息
// String url = ConfigUtil.getConfig("imageGroup.url");
String imageUploadurl = ConfigUtil.getConfig("imageUpload.url");
String sysKey = ConfigUtil.getConfig("imageUpload.sysKey");
String code = ConfigUtil.getConfig("imageUpload.code");
String newFileName= uploadPic.upload(imageUploadurl,code, sysKey, ftpPictureStream2,logoUrl.substring(logoUrl.lastIndexOf("/")+1));
}
//MethodUtil.getFtpPictureStream(logoUrl)方法
public static InputStream getFtpPictureStream(String contentMngXMLURL)
throws Exception {
// String contentMngXMLURL="ftp://ftpuser:ftpuser@192.168.3.26:21/logo/123/1.png";
String startSub = contentMngXMLURL.substring(0,
contentMngXMLURL.indexOf("@"));
String endSub = contentMngXMLURL.substring(contentMngXMLURL
.indexOf("@") + 1);
String userPass = startSub.substring(startSub.lastIndexOf("/") + 1);
String[] up = userPass.split(":");
String ipAndPort = endSub.substring(0, endSub.indexOf("/"));
String pathName = endSub.substring(endSub.indexOf("/"));
String path = pathName.substring(0,pathName.lastIndexOf("/"));
String fileName = endSub.substring(endSub.lastIndexOf("/") + 1);
String port;
String ip;
if (ipAndPort.contains(":")) {
ip = ipAndPort.substring(0, ipAndPort.indexOf(":"));
port = ipAndPort.substring(ipAndPort.indexOf(":") + 1);
} else {
ip = ipAndPort;
port = "21";
}
ftpclient = new FTPClient();
ftpclient.setControlEncoding("UTF-8");
ftpclient.connect(ip, Integer.valueOf(port));
if (FTPReply.isPositiveCompletion(ftpclient.getReplyCode())) {
ftpclient.login(up[0], up[1]);
} else {
ftpclient.disconnect();
}
ftpclient.setFileType(ftpclient.BINARY_FILE_TYPE);
if (StringUtil.isNotEmpty(path)) {
if (!ftpclient.changeWorkingDirectory(path)) {
ftpclient=null;
// Exception e = new Exception("海报路径不存在");
// throw e;
}
}
if (ftpclient == null) {
return null;
}
InputStream retrieveFileStream = ftpclient.retrieveFileStream(fileName);
// 得到目录的相应文件列表
try {
if (ftpclient.isConnected()) {
ftpclient.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ftpclient.isConnected()) {
ftpclient.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return retrieveFileStream;
}