HttpClient调用接口传递文件参数
来源:互联网 发布:java小程序 编辑:程序博客网 时间:2024/06/16 14:17
方法一:使用 org.apache.commons.httpclient;的HttpClient
- 具体代码:
public Map<String, Object> officialOcrUpload(String filePath) { Map<String, Object> reContent = new HashMap<>(); String soapResponseInfo = ""; File targeFile = new File(filePath); HttpClient httpClient = new HttpClient(); PostMethod postMethod = new PostMethod(OFFICIAL_ENDPOINT+"?bizType=tm"); int state = 500; try { FilePart filePart = new FilePart(targeFile.getName(), targeFile); filePart.setContentType("multipart/form-data"); filePart.setName("file"); Part[] parts = {filePart}; postMethod.setRequestEntity(new MultipartRequestEntity(parts, postMethod.getParams())); httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(Integer.valueOf(OFFICIAL_TIMEOUT));//设置连接超时 state = httpClient.executeMethod(postMethod); if (state == HttpStatus.SC_OK) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(postMethod.getResponseBodyAsStream(), "utf-8")); String responseLine = ""; while((responseLine = bufferedReader.readLine()) != null){ soapResponseInfo += responseLine; } } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { reContent.put("status", state); reContent.put("body", soapResponseInfo); postMethod.releaseConnection(); if (state == HttpStatus.SC_OK) { reContent = queryOfficalDoc(soapResponseInfo); } } return reContent; }
方法二:使用org.apache.http.impl.client;的HttpClient
- maven中引用的jar包
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.3</version> </dependency><dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.6</version> </dependency>
- 具体代码
public String officialFileUpload(String filepath){ CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(OFFICIAL_ENDPOINT+"?bizType=tm"); String result = ""; try { FileBody bin = new FileBody(new File(filepath)); MultipartEntityBuilder reqEntity = MultipartEntityBuilder.create(); reqEntity.addPart("file", bin); HttpEntity httpEntity = reqEntity.build(); httpPost.setEntity(httpEntity); HttpResponse response = httpClient.execute(httpPost); HttpEntity responseEntity = response.getEntity(); if (responseEntity != null) { result = EntityUtils.toString(responseEntity, Charset.forName("UTF-8")); } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { httpPost.releaseConnection(); } return result; }
目录
- 方法一使用 orgapachecommonshttpclient的HttpClient
- 方法二使用orgapachehttpimplclient的HttpClient
- 目录
阅读全文
0 0
- HttpClient调用接口传递文件参数
- 使用httpclient传递java参数调用http接口
- WebApi系列~通过HttpClient来调用Web Api接口~续~实体参数的传递
- WebApi系列~通过HttpClient来调用Web Api接口~续~实体参数的传递
- WebApi系列~通过HttpClient来调用Web Api接口~续~实体参数的传递
- HttpClient请求接口上传文件以及参数
- php views参数传递 接口调用
- HttpClient 之 参数传递
- httpClient 参数传递方式
- ie调用接口传递参数,出现参数未定义
- HttpClient调用接口
- httpclient接口调用
- httpclient http接口调用
- httpClient 接口调用
- httpClient接口调用
- HttpClient通过HttpPost传递参数
- HttpClient通过HttpPost传递参数
- httpclient 传递参数的问题
- java,js 编码解码
- 2017智能周报 | 12.03-12.09 | 无人驾驶载客测试、人脸及语音识别进入小区地铁、英伟达和高通芯片发布……
- linux下haproxy安装配置笔记
- 《jquery权威指南》学习笔记--第二章
- Android使用Bugly实现APP版本更新
- HttpClient调用接口传递文件参数
- Oracle EBS的组织架构
- WAN startdeamontowaitconn.bind1 10013 红蜘蛛软件,学生机不能受控制
- XCode仍然找不到<libxml/tree.h>的情况,
- 程序异常:SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- 冒泡排序java实现
- PCI串口晶振由1.8432MHz变为14.7456MHz调试
- 详解反向传播算法(下)
- 利用phpstudy连接测试本地ftp时提示could not connect