HttpGet httpGet = new HttpGet(url); //创建get请求,url为地址 CloseableHttpClient httpClient = null; //创建可关闭的客户端请求 CloseableHttpResponse response = null; //创建可关闭的客户端响应 HttpEntity entity; byte[] bytes; try { httpClient = HttpClients.createDefault(); // 执行请求,下载文件 response = httpClient.execute(httpGet); entity = response.getEntity(); //获取实体 bytes = EntityUtils.toByteArray(entity); } catch (IOException e) { throw new ZTRuntimeException(ServiceCode.UTIL_HTTP_EXCE, e); } finally { try { if (httpClient != null) { httpClient.close(); } if (response != null) { response.close(); } } catch (IOException e) { e.printStackTrace(); } } // String imgStr; InputStream inputStream = new ByteArrayInputStream(bytes); OutputStream outputStream = null; File base64File = null; String results = path.substring(path.lastIndexOf("/")+1); try { // 创建目录 String downloadPath = EnvironmentUtil.getLocalTempDir() + ZTCTs.FILE_SEPARATOR_CHAR + "/wlw/" + ZTCTs.FILE_SEPARATOR_CHAR; // 建立缓冲区 byte[] bs = new byte[1024]; int len; File tempFile = new File(downloadPath); if (!tempFile.exists()) { tempFile.mkdirs(); } // 即将文件流写入到文件中 outputStream = new FileOutputStream(tempFile.getPath() + File.separator + results); // base64File = new File(tempFile.getPath() + File.separator + results); while ((len = inputStream.read(bs)) != -1) { outputStream.write(bs, 0, len); } //因为我获取的是图片,这里我做了转base64的操作了 // String imgFile = downloadPath + results; // imgStr = Img2Base64Util.getImgStr(imgFile); } catch (Exception e) { throw new ZTRuntimeException("照片处理失败:" + e); } finally { if (base64File != null) { base64File.deleteOnExit(); } try { outputStream.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } ----------大概就是这样,自己做个记录,欢迎交流。
接收接口返回的文件流---
最新推荐文章于 2024-01-26 17:43:15 发布