使用httpclient-4.5.2以form表单形式上传文件 java
来源:互联网 发布:国家卫生统计网络直报 编辑:程序博客网 时间:2024/06/10 21:12
pom依赖:
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.2</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.5.2</version></dependency>
import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.HttpClientBuilder;import org.junit.Test;import com.alibaba.fastjson.JSONObject;import java.io.File;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.mime.HttpMultipartMode;import org.apache.http.entity.mime.MultipartEntityBuilder;import org.apache.http.entity.mime.MultipartEntity;import org.apache.http.entity.mime.content.FileBody;import org.apache.http.entity.mime.content.StringBody;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.util.EntityUtils;import org.apache.http.util.CharsetUtils;
public static void sendFile(Integer id, Integer value, String filePath) throws Exception {HttpClient httpClient = HttpClientBuilder.create().build();HttpPost httpPost = new HttpPost(postUrl);//加上该header访问会404,不知道原因...//httpPost.setHeader("Content-Type", "multipart/form-data; boundary=-----ZR8KqAYJyI2jPdddL");FileBody fileBody = new FileBody(new File(filePath));StringBody stringBody = new StringBody("application/text", Charset.defaultCharset());JSONObject json = new JSONObject();json.put("id", item_id.toString());json.put("value", value.toString());StringBody contentBody = new StringBody(json.toJSONString(), Charset.defaultCharset());//以浏览器兼容模式访问,否则就算指定编码格式,中文文件名上传也会乱码HttpEntity reqEntity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE).addPart("file", fileBody).addPart("type", stringBody).addPart("data", contentBody).setCharset(CharsetUtils.get("UTF-8")).build();httpPost.setEntity(reqEntity);HttpResponse response = httpClient.execute(httpPost);if(HttpStatus.SC_OK==response.getStatusLine().getStatusCode()){HttpEntity entitys = response.getEntity();if (entitys != null) {System.out.println(EntityUtils.toString(entitys));}}httpClient.getConnectionManager().shutdown();}
1 0
- 使用httpclient-4.5.2以form表单形式上传文件 java
- httpClient 使用multipart/form-data 类型上传文件及表单
- httpClient 使用multipart/form-data 类型上传文件及表单
- HttpClient以multipart/form-data上传文件
- HttpClient https上传文件与form表单
- 使用Form表单上传文件
- httpclient4.3.X post请求上传,将文件封装到请求体中(不以form表单形式)
- HttpClient 4.3.6 使用MultipartEntityBuilder实现类似form表单提交方式的文件上传
- 使用FileUtils进行Java中Form表单上传文件
- Java使用form表单上传文件10大需要注意事项
- 利用HttpClient模拟form表单将文件上传到Servlet
- 使用httpclient提交表单方式上传文件
- 使用java的HttpURLconnnection模拟form上传以及apache httpClient 直接上传文件
- 使用form表单上传文件(一)
- form表单上传文件
- form表单上传文件
- Form表单文件上传
- form表单文件上传
- 查看android程序的CPU和内存消耗情况
- Hibernate表中外键使用(个人笔记)
- Regularization(正则化)与Dropout
- Pyspider爬虫教程
- 重建二叉树
- 使用httpclient-4.5.2以form表单形式上传文件 java
- 对理解rtmp协议有用的几篇文章
- java 的hashCode值计算
- GSS 1 区间最大子段和
- java的锁,synchronize和lock
- Maven 自动打包上传到私服 Nexus
- php实现四种排序算法
- 微信小程序-利用wxParse将html转为wxml
- JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路