公众号开发-下载图片并上传到微信素材库


public static byte[] getFileStream(String url){
        HttpClient client = HttpClientBuilder.create().build();
        RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(3000).setConnectTimeout(10000).build();
        HttpGet request = new HttpGet(url);
        request.setConfig(requestConfig);
        byte[] res  = null;
        try {
            HttpResponse response = client.execute(request);
            byte[] fileStream = EntityUtils.toByteArray(response.getEntity());
            return fileStream;
        }catch (Exception ex){
        }
        return res;
    }


上传bytearray
 public static String postFile(String url, Map params, byte[] fileConetent, String filename){
        String logPrefix = "[HttpUtil:postFile]";
        HttpClient client = HttpClientBuilder.create().build();
        RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(3000).setConnectTimeout(10000).build();
        HttpPost request = new HttpPost(url);
        String res = null;
        try{
            request.setConfig(requestConfig);
            MultipartEntityBuilder builder = MultipartEntityBuilder.create();
            builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
            ContentType contentType = ContentType.MULTIPART_FORM_DATA;
            builder.addBinaryBody("media", fileConetent,contentType, filename);  //注意contenttype 和filename必填,不然微信会返回错误代码
            if(params != null){
                for(Map.Entry entry:params.entrySet()){
                    builder.addTextBody(entry.getKey(), entry.getValue());
                }
            }
            HttpEntity entity = builder.build();
            request.setEntity(entity);
            HttpResponse response = client.execute(request);
            if(response.getStatusLine().getStatusCode() == 200){
//                res = EntityUtils.toString(response.getEntity());
                res = EntityUtils.toString(response.getEntity());
            }else{
                Constants.ERROR_LOG.error("[HttpUtils:postRequest]" + "post 请求提交失败" + url);
            }

        }catch (Exception ex){
            Constants.ERROR_LOG.error(logPrefix,ex);
            return res;
        }

        return res;
    }

你可能感兴趣的:(java)