根据图片在ftp路径获取InputStream流
来源:互联网 发布:md5摘要算法 编辑:程序博客网 时间:2024/06/07 02:15
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;
}
- 根据图片在ftp路径获取InputStream流
- 根据路径获取图片,缩放图片
- Android根据图片路径获取图片名字
- 根据路径获取视频、图片的缩略图
- 根据图片路径来获取图片的真实大小
- Android手机读取相册图片,根据URI获取图片路径
- Android 获取图库图片 根据uri获取路径
- 根据图片的路径删除显示在view中的图片
- android 根据图片路径和大小获取缩图
- Android根据文件路径获取图片的名字
- 根据url路径获取图片并显示到ListView中
- Android之根据图片的Uri获取对应的路径
- 根据网络路径存储图片并在图库显示
- 使用FTP下载文件connect.retrieveFileStream(filename) 获取不到InputStream流,返回null的问题
- 获取ftp图片
- 关于缩小图片时inputStream流转换问题-如何在处理完图片后转化为inputStream流
- 根据网址获取图片
- 根据颜色获取图片
- C语言中extern的用法
- oracle员工表和部门表基本操作
- 一维、二维数组的初始化及引用(略)
- PHP使用Redis
- iis服务器asp.net网站搭建步骤
- 根据图片在ftp路径获取InputStream流
- [前端学习]基于Boostrap的弹出层和进度条应用
- [vijos 1448]: 校门外的树(树状数组/线段树)
- 阿里云搭建基于MatlabMPI的集群(八):NFS性能调优
- Spring的自动装配Bean的三种方式
- Code Jam to I/O for Women 2016【上】
- 1078 最小生成树
- MySQL安装和简单使用
- C#学习笔记(三)—–C#高级特性:扩展方法