JAVA实现图片下载至本地,处理后,再上传FTP
2012-09-19 10:27
866 查看
下面是处理流程:
开始--->从网页中解析出IMG图片地址--->下载至本地-->缩放处理图片--->加上水印效果
----->上传至FTP--->存储完成后给出回馈信息---->结束
下面是代码实现:
上面还用到其他操作相关API,不过可以自已书写,也可以查看之前写的博客。
开始--->从网页中解析出IMG图片地址--->下载至本地-->缩放处理图片--->加上水印效果
----->上传至FTP--->存储完成后给出回馈信息---->结束
下面是代码实现:
//在线图片地址: String sourceFilePath = "http://m2.img.libdd.com/farm5/2012/0914/11/BB0C1C675286CF6D30A23F5C96EB07FDA5D0FE05049E_314_460.JPEG"; //组装HTML代码片段 String destImgPath = ParseImgUtils.testUseEx(sourceFilePath); //文件名 String filename = "E:\\ftpPath\\hello.jpg"; //下载至本地 try { URLConnectionDownloader.download(destImgPath, filename); } catch (Exception e) { e.printStackTrace(); } //按指定长度,宽度缩放图片大小 JPGTransformer jpgTransformer = new JPGTransformer(); String filename2 = "E:\\ftpPath\\hello_new.jpg"; try { //注意:真正上传的是缩放后的文件 jpgTransformer.transform2(filename, filename2, 500, 400); } catch (Exception e1) { e1.printStackTrace(); } //在這里添加水印效果 MarkPicture.pressText("中科院軟件所", filename2, "宋体", 1, 1, 25, 5, 5); //延时1秒以执行之后的操作 try { Thread.currentThread(); Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } //上传至FTP地址 FtpUpload ftpUpload = new FtpUpload("*****", "***", "***"); File file = new File(filename2); String destFileName = file.getName(); // String FileName = s.subString(lastIndexOf("\"), FullFileName.length); //String fileString2 = filename.substring(filename.lastIndexOf("\\") + 1, filename.length() ); //通過時間生成隨機不重復的文件名 destFileName = RandomFileName.createFileNameByDate()+".jpg"; //destFileName = RandomFileName.uuidFileName(); //输入流定义 InputStream in = null; try { in = new FileInputStream(file); } catch (FileNotFoundException ex) { ex.printStackTrace(); } //設置上傳的FTP目錄 String ftpPath = "download"; //设定文件名和目录 if(ftpUpload.upMyFile(destFileName , in, ftpPath) == true){ System.out.println("图片文件上传至FTP服务器已成功! "); //设定反馈信息 //文件上傳成功了后,記得將上傳的文件同之前的原始數據聯系起來 String destFilePath = ftpUpload.getFtpFilePath(ftpPath, destFileName); //soureFilePath同destFilePath聯系起來,具體使用算法,我這里只做簡單的關聯(用map鍵值對),后面可以用數據庫方式,文件存儲方式,內存方式 Map<String, String> relateMap = new TreeMap<String, String>(); relateMap.put(sourceFilePath, destFilePath); ImageUrl url =new ImageUrl(); url.setDestFilePath(destFilePath); url.setSourceFilePath(sourceFilePath); //添加一个别识码,全球唯一 url.setFlag(destFileName); //将数据存入数据库 DBConn db = new DBConn(); db.saveToDb(url); }else{ System.out.println("图片文件上传至FTP服务器失敗,請重試或聯系管理員! "); }
上面还用到其他操作相关API,不过可以自已书写,也可以查看之前写的博客。
相关文章推荐
- JAVA实现图片下载至缓存处理后,再上传FTP
- 使用JAVA在线下载图片至本地,并上传至FTP
- cool-2018-01-17-java+nginx+ftp实现图片上传和下载
- java操作ftp实现文件的上传下载(适用于图片文档服务器)
- JAVA中使用FTPClient实现文件上传下载
- JAVA中使用FTPClient实现文件上传下载
- java从ftp上下载图片到客户端本地
- java实现ftp文件的上传与下载
- java实现FTP多线程断点续传,上传下载!
- java实现ftp文件的上传与下载
- java 实现 ftp 上传下载
- Java实现下载网上的图片到本地
- java读取图片处理实现缩放裁剪,用于个人信息中上传图片自定义头像大小
- java实现FTP多线程断点续传,上传下载!
- Java实现ftp上传下载、删除文件及在ftp服务器上传文件夹的方法
- java实现从网上下载图片到本地的方法
- 利用Java 代码创建ftp客户端并实现上传下载等功能
- JAVA中使用FTPClient实现文件上传下载
- Java FTP 实现跨服务器文件上传下载
- Java连接FTP服务器并且实现对其文件的上传和下载