接口调用获取到图片的url地址,通过url地址将图片转换为字节数组,并将图片下载到本地。
//把图片转换为字节 public static byte[] getByteData(String url) { RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); ResponseEntity<byte[]> response = restTemplate.exchange( url, HttpMethod.GET, new HttpEntity<byte[]>(headers), byte[].class); byte[] result = response.getBody(); return result; }
//TODO 下载图片 url:线上图片的地址 byte[] imgData = ImgUntils.getByteData(url); //当前日期和时间,时钟序列,全局唯一的IEEE机器识别号 用来作为图片名称,不会有重复值,字符串较长 String imgId = UUID.randomUUID().toString() + ".jpg"; File f = FileUtils.getFile(localPicDir, imgId); FileOutputStream fos = null; try { fos = new FileOutputStream(f); IOUtils.write(imgData, fos); } catch (Throwable e) { logger.error("保存图片失败.", e); } finally { if (null != fos) { fos.close(); } }