【无标题】MQ静态图片获取

public void getImageV40(String path, Integer buildingProjectId, HttpServletResponse response){
        JSONObject param = new JSONObject();
        param.put("path", path);
        ApiParam apiParam = setApiParam(ApiConstant.API_GET_IMAGE_CHAONAO, param);
        RabbitMessage baseResult = getBaseResult(ROUTER_KEY_CN + buildingProjectId, apiParam, buildingProjectId);
        byte[] buffer = (byte[]) baseResult.getMessageData();
        try {
            DataOutputStream dataOutputStream = new DataOutputStream(response.getOutputStream());
            response.setContentType("image/*");
            dataOutputStream.write(buffer,0,buffer.length);
            dataOutputStream.flush();
            dataOutputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

前置服务

switch (type) {
    case ApiConstant.API_GET_IMAGE_CHAONAO:
		String path = apiParam.getParam().get("path").toString();
		String decode = URLDecoder.decode(path);
		try {
		//本地ip
		String ipAddr=InetAddress.getLocalHost().getHostAddress();
		if(path.contains(ipAddr)){
			HttpResponse response= Unirest.get(path).asString();
			String length = response.getHeaders().get("Content-Length").get(0);
			byte[] buffer = new byte[Integer.parseInt(length)];
			response.getRawBody().read(buffer);
			content = buffer;
		}else if(path.contains(portMachineUrl)) {						                   
       content=HttpClientUtil.getImageV40(decode,portMachineUrl.replaceAll("http://",""));
							} else if(path.contains(portUrl)){
								content=HttpClientUtil.getImageV40(decode,portUrl.replaceAll("http://",""));
							}
						} catch (Exception e) {
							content = "Error accessing " + api + e.getMessage();
						}
             break;
}

public static Object getImageV40(String url, String host) throws IOException {
        Object content = null;
        CloseableHttpClient httpclient = digestAuth(host);
        try {
            HttpGet getMethod = new HttpGet(url);
            org.apache.http.HttpResponse response = httpclient.execute(getMethod);
            HttpEntity httpEntity = response.getEntity();
            InputStream inputStream = httpEntity.getContent();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len = -1;
            while ((len = inputStream.read(buffer)) != -1) {
                baos.write(buffer, 0, len);   //把读取到的内容写到输出流中
            }
            baos.flush();
            baos.close();
            content =  baos.toByteArray();
        } catch (Exception e) {
            log.debug("推送失败:" + e);
        } finally {
            httpclient.close();
        }
        return content;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值