JAVA实现图片下载至本地,处理后,再上传FTP

来源:互联网 发布:863软件孵化培训班 编辑:程序博客网 时间:2024/04/24 22:15

下面是处理流程:

 开始--->从网页中解析出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,不过可以自已书写,也可以查看之前写的博客。


原创粉丝点击