HttpClient 通过Post 上传文件。
来源:互联网 发布:苏州爱知电机 编辑:程序博客网 时间:2024/05/29 02:31
public class UploadService {/** * 默认的URL */private static final String DEFAULT_HTTP_POST_URL = "http://localhost:8090/uploadfile";private Logger logger = LoggerFactory.getLogger(UploadService.class);private String url = DEFAULT_HTTP_POST_URL;@Autowiredprivate HttpProvider httpProvider;/** * * 初始化参数信息 */@PostConstructpublic void initConfig() {url = Configuration.getInstance().getValue("url");}/** * * 上传文件到汇总统计程序 * @param filePath * @throws IOException */public void uploadFile(String filePath) throws IOException {HttpClient client = httpProvider.getHttpClient();client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);HttpPost post = new HttpPost(url);File file = new File(filePath);MultipartEntity mpEntity = new MultipartEntity();ContentBody cbFile = new FileBody(file);mpEntity.addPart("file", cbFile);post.setEntity(mpEntity);HttpResponse response = client.execute(post);String content = EntityUtils.toString(response.getEntity());logger.debug("filePath :{} ,content :{}", filePath, content);client.getConnectionManager().shutdown();}
带源地址的Httpclient
@Servicepublic class HttpProvider {private static final String DEFAULT_SCHEMA = "http";private static final int DEFAULT_PORT = 80;private static final String DEFAULT_LOCAL_IP = "127.0.0.1";private String schema = DEFAULT_SCHEMA;private int port = DEFAULT_PORT;private String localIp = DEFAULT_LOCAL_IP;/** * * 初始化配置 */@PostConstructpublic void initConfig() {schema = Configuration.getInstance().getValue("schema");port = Integer.valueOf(Configuration.getInstance().getValue("port"));localIp = Configuration.getInstance().getValue("localIp");}/** * * 创建HttpClient客户端 * @return */public HttpClient getHttpClient() {SchemeRegistry schemeRegistry = new SchemeRegistry();schemeRegistry.register(new Scheme(schema, port, new RouterSocketFactory(localIp)));BasicClientConnectionManager connectManager = new BasicClientConnectionManager(schemeRegistry);return new DefaultHttpClient(connectManager);}
public class RouterSocketFactory extends PlainSocketFactory {private String localAddressIp;/** * * @param localAddress */public RouterSocketFactory(final String localAddress) {this.localAddressIp = localAddress;}/** * 创建Socket连接 */public Socket connectSocket(final Socket socket, final InetSocketAddress remoteAddress,InetSocketAddress localAddress, final HttpParams params) throws IOException {InetSocketAddress local = null;if (localAddress == null && localAddressIp != null && !"".equals(localAddressIp)) {InetAddress routeAddress = InetAddress.getByName(localAddressIp);local = new InetSocketAddress(routeAddress, 0);}return super.connectSocket(socket, remoteAddress, local, params);}
- HttpClient通过Post上传文件
- HttpClient 通过Post 上传文件。
- HttpClient通过Post上传文件
- HttpClient通过Post上传文件
- HttpClient通过Post上传文件
- HttpClient通过Post上传文件
- HttpClient通过Post上传文件
- HttpClient通过Post上传文件
- httpClient通过post上传数据
- HttpClient通过post上传文件和提交参数
- HttpClient通过post上传文件和提交参数
- HttpClient通过post上传文件和提交参数
- 通过HttpClient上传文件
- HttpClient post 上传文件 笔记
- HttpClient post 上传文件 笔记
- HttpClient post 上传文件 笔记
- HttpClient用POST上传文件
- httpClient中post上传文件乱码
- ios singleton单例模式及代码
- 韩顺平_轻松搞定网页设计(html+css+javascript)_ 第18讲_js课程介绍_js基本介绍_学习笔记_源代码图解_PPT文档整理
- SQLite3与C/C++的结合应用
- 人人网2012年校招笔试题
- JSP遍历所有数据标签与转义标签 --->张国亮总结心得第五季(完结篇)
- HttpClient 通过Post 上传文件。
- JavaScript事件冒泡简介及应用
- Android Wifi方法大全
- Win8MetroC#数字图像处理--2.2图像二值化函数
- 程序中函数和lib中函数冲突
- 读《C++语言的设计和演化》
- 修改IIS下FTP服务器的PASV端口范围
- 屏幕大小/cgrect等结构体的nslog输出
- 把gbk的编码按utf-8来解码,可能导致的不可恢复的错误