java 上传图片并把原图tagjson加回来
public class FolderUtil { List<String> list = new ArrayList<String>(); public List<String> refreshFileList(String strPath) { File dir = new File(strPath); File[] files = dir.listFiles(); if (files == null) return null; for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) {refreshFileList( files[i].getAbsolutePath()); } else { String strFileName = files[i].getAbsolutePath(); list.add(strFileName); } } return list; } public List<String> refreshFileList(String strPath,String str) { File dir = new File(strPath); File[] files = dir.listFiles(); if (files == null) return null; for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) {refreshFileList( files[i].getAbsolutePath(),str); } else { String strFileName = files[i].getAbsolutePath(); if(strFileName.indexOf(str)!=-1) list.add(strFileName); } } return list; } }
public static String getFileMD5(InputStream inputStream){ String name=""; try { byte[] bytes = new byte[1024]; int len = 0; MessageDigest messagedigest = MessageDigest.getInstance("MD5"); while ((len = inputStream.read(bytes)) > 0) { messagedigest.update(bytes, 0, len); } name = bufferToHex(messagedigest.digest()); inputStream.close(); } catch (MalformedURLException e) { } catch (IOException e) { } catch (NoSuchAlgorithmException e) { } return name; }
public void import4(){ FolderUtil fu=new FolderUtil(); List<String> imgList=fu.refreshFileList("D:\\斑片影2", "jpg"); int countadd=0; for(String imgUrl:imgList){ TagImg newImg=new TagImg(); newImg.setOrgId("4e252d02fc0d4855909496c977b1ba86"); newImg.setSetId("22636eb7d50447f39b24617fab3c8145"); newImg.setTypeId("37ec21d7745f4f6eb05aba506bc14048"); File imgFile = new File(imgUrl); //生成缩略图 InputStream in = null; try { in = new FileInputStream(imgFile); String fileMd5Name=UploadFile.getFileMD5(in); if(in!=null) in.close(); //TagImgFilter imgfilter=new TagImgFilter(); //imgfilter.setEq_imgMd5(fileMd5Name); //取tag_json TagImgFilter imgfilter2=new TagImgFilter(); String imgId0 = imgUrl.split("\\\\")[2]; //根据文件路径修改 String imgId1 = imgId0.split("\\_")[1]; String imgId = imgId1.split("\\.")[0]; //System.out.println(imgUrl); System.out.println(imgId0); System.out.println(imgId1); System.out.println(imgId); //imgfilter2.setEq_id(imgId); imgfilter2.setEq_orgId("dd33751e9f9e464a9a8b2808d8aeb1cd"); imgfilter2.setEq_setId("aeb57e96903740f8ab35da63986d6e11"); imgfilter2.setEq_typeId("fc268bd0e55047199d43c9467f840c15"); imgfilter2.setEq_id(imgId); //imgfilter2.setEq_imgMd5(imgId);//imgId为名字里md5值,此处没改名,之前是id值 TagImg tagImg = tagImgService.selectAll(imgfilter2).get(0); String tagJson = tagImg.getTagJson(); System.out.println(tagJson); //上传原图 String opath=this.upFile(imgUrl, "jpg"); /* JSONObject obj=new JSONObject(); obj.put("x", 1); obj.put("y", 1); BufferedImage image = null; try { File wimgFile = new File(imgUrl); image = ImageIO.read(wimgFile); newImg.setThumbh(image.getHeight()); newImg.setThumbw(image.getWidth()); obj.put("width", image.getWidth()-1); obj.put("height", image.getHeight()-1); image = null; } catch (IOException e) { e.printStackTrace(); } JSONArray ar=new JSONArray(); ar.add(obj); newImg.setTagJson(ar.toJSONString());*/ newImg.setTagJson(tagJson); newImg.setImgUrl(opath); newImg.setImgMd5(fileMd5Name); newImg.setTagFlag(1); //缩略图 File simgFile=new File(imgUrl); Map<String,Object> map=ImageZipUtil.zipImageFileByte(simgFile,310, 0, 1f); byte[] bt = (byte[]) map.get("bt"); ByteArrayInputStream bin = new ByteArrayInputStream(bt); String spath= this.upFile(bin, bt.length, "jpg"); newImg.setImgUrlThumb(opath); newImg.setCreateUser("originalbanpianying"); countadd++; System.out.println(countadd); bin.close(); bt=null; // tagImgService.save(newImg); } catch (Exception e) { // TODO: handle exception } } } public String upFile(InputStream in,long fileSize,String extName) throws FileNotFoundException{ StorePath storePath= fastFileStorageClient.uploadFile(in,fileSize,extName,null); try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(in!=null) try { in.close(); } catch (IOException e) { e.printStackTrace(); } } if(storePath!=null){ return storePath.getFullPath(); }else return null; } public String upFile(String path,String extName) throws FileNotFoundException{ File file=new File(path); if(file.exists()){ FileInputStream inputStream=new FileInputStream(file); StorePath storePath= fastFileStorageClient.uploadFile(inputStream,file.length(),extName,null); try { inputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(inputStream!=null) try { inputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return storePath.getFullPath(); }else{ return null; } }