JAVA post(key-value) 带文件请求封装

JAVA POST key-value 带文件 请求封装

所需jar 包下载地址

httpmine jar包
httpclient jar包

 /**
     * HttpPost(key-value格式)带文件请求
     * @param url 请求地址
     * @param params  请求参数 (map)
     * @param file  请求文件
     * @return 字符串
     */
    public  static  String sendMapPost(String url, Map<String,String> params, File file) {
        String result= null;
        TokenManage tokenManage = new TokenManage();
        String token = tokenManage.getTokenResult();
        if(null==token || "".equals(token)){
            return  null;
        }
        HttpClient httpClient = HttpClientBuilder.create().build();
        HttpPost httpPost = new HttpPost(url);// 请求地址
        MultipartEntityBuilder meb = MultipartEntityBuilder.create();
        ContentType strContent = ContentType.create("application/json", Charset.forName("UTF-8"));
        httpPost.setHeader("Authorization",token);
        if(file.exists()){
            meb.addBinaryBody("file", file);
        }
        params.forEach((k,v)->{
            meb.addTextBody(k, v, strContent);// 参数

        });
        HttpEntity httpEntity = meb.build();
        httpPost.setEntity(httpEntity);
        try {
            StringBuilder sb = new StringBuilder();
            String line;
            HttpResponse httpResponse = httpClient.execute(httpPost);
            InputStream inputStream = httpResponse.getEntity().getContent();
            BufferedReader br = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
            while ((line = br.readLine()) != null) {
                sb.append(line);
            }
            result = URLDecoder.decode(sb.toString(),"UTF-8");

        } catch (Exception e) {
            e.printStackTrace();
        }

        return  result;
    }

猜你喜欢

转载自blog.csdn.net/qq_38613765/article/details/88820640
今日推荐