`
onepiece021
  • 浏览: 38503 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java httpclient 文件上传

 
阅读更多
是网上的例子, 用过就记录下来了


import java.io.File;
import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.ParseException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
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.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

/**
 *  
 * 
 */
public class UploadTest {
	
	// file1与file2在同一个文件夹下 filepath是该文件夹指定的路径
	public void SubmitPost(String url, String filename1, String filepath) {

		HttpClient httpclient = new DefaultHttpClient();

		try {
			HttpPost httppost = new HttpPost(url);
			FileBody bin = new FileBody(new File(filepath + File.separator + filename1));
			StringBody comment = new StringBody("aaa");
			MultipartEntity reqEntity = new MultipartEntity();
			reqEntity.addPart("file", bin);// file1为请求后台的File upload;属性
			reqEntity.addPart("name", comment);// filename1为请求后台的普通参数;属性
			httppost.setEntity(reqEntity);
                        // 后台以ajax方式处理
			httppost.setHeader("X-Requested-With", "XMLHttpRequest");
			HttpResponse response = httpclient.execute(httppost);

			int statusCode = response.getStatusLine().getStatusCode();
			System.out.println("statusCode: " + statusCode);
			if (statusCode == HttpStatus.SC_OK) {
				System.out.println("服务器正常响应.....");
				HttpEntity resEntity = response.getEntity();
				System.out.println(EntityUtils.toString(resEntity));// httpclient自带的工具类读取返回数据
				System.out.println(resEntity.getContent());
				EntityUtils.consume(resEntity);
			}

		} catch (ParseException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				httpclient.getConnectionManager().shutdown();
			} catch (Exception ignore) {

			}
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		UploadTest httpPostArgumentTest2 = new UploadTest();
		httpPostArgumentTest2.SubmitPost("http://localhost:8080/maintenance/repair-mans/importing/upload", "a.xls", "E:");
	}

}



<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient-cache</artifactId>
			<version>4.1.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpmime</artifactId>
			<version>4.1.2</version>
		</dependency>
分享到:
评论

相关推荐

    java使用HttpClient通过url下载文件到本地

    综上所述,通过Java的HttpClient库,可以在Eclipse环境中编写程序,实现从指定URL下载文件到本地的功能。通过理解HttpClient的工作原理和提供的API,开发者可以构建出稳定、高效的文件下载解决方案。

    java httpclient https或http及文件中转上传工具类

    该工具类使用httpclient进行http or https请求,包括requestbody格式和form表单格式,另外含文件服务器中转上传方法,几乎支持所有常用接口调用,内含详细注释和说明文件,含jar包,及maven方式引用,拿过去直接用吧

    httpclient和RestfuL风格上传下载文件

    综上所述,HTTPClient和RESTful风格的文件上传下载在Java分布式系统中具有广泛应用。通过HTTPClient实现HTTP请求,利用RESTful接口定义清晰的操作方式,可以构建高效、灵活的文件传输方案。同时,理解并遵循良好的...

    Java HttpClient 全部的jar包

    总结起来,这些jar包共同构成了一个完整的Java HttpClient环境,能够处理各种复杂的HTTP通信任务,从简单的GET和POST请求到复杂的文件上传、多部分表单数据处理,以及与Web服务器的高级交互。开发者可以根据项目需求...

    Java后端HttpClient Post提交文件流 及服务端接收文件流

    HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。

    httpclient 文件上传 下载

    它提供了丰富的功能,包括文件上传和下载,支持请求流,以及处理JSON和XML数据。在本例中,我们关注的是HTTPClient 4版本,这是一个稳定且功能强大的版本,适用于多种网络交互场景。 文件上传通常涉及到HTTP的POST...

    httpClient文件上传

    使用httpclient上传文件, CloseableHttpClient httpClient = HttpClientBuilder.create().build();

    JavaHttpClient实例

    - 文件上传: ```java MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", new File("path/to/file"), ContentType.DEFAULT_BINARY, "filename"); ...

    HttpClient 4文件上传

    ### HttpClient 4 文件上传知识点详解 #### 一、概述 在Java开发中,经常会遇到需要通过HTTP协议上传文件的需求。Apache HttpClient是一个强大的客户端HTTP组件,它不仅支持HTTP协议,还能处理HTTPS请求,并提供了...

    HttpClient 文件上传

    在这个场景中,我们主要关注如何使用HttpClient进行文件上传。 文件上传通常涉及到Web服务器与客户端之间的交互,比如用户通过网页上传图片或文档到服务器。HttpClient库提供了一个方便的接口来实现这种功能。以下...

    HttpClient模拟客户端传输文件

    以下是一个简单的文件上传示例: 1. 创建HttpClient对象: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); ``` 2. 定义HttpPost请求: ```java HttpPost httpPost = new HttpPost(...

    HttpClient 4 - 文件上传

    HttpClient是Apache基金会开发的一个HTTP客户端库,主要用于在Java应用程序中执行...这些组件和类库是理解和实现HTTP文件上传的关键,对于任何需要与Web服务器交互的Java应用来说,HttpClient都是一个不可或缺的工具。

    java,HttpClient模拟上传,绕过SSL认证

    本文将详细介绍如何使用Java和HttpClient来模拟HTTPS文件上传,并跳过SSL验证。 首先,我们需要导入必要的依赖。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache....

    使用HttpClient实现文件的上传所需lib

    2. **MultipartEntityBuilder**:在HttpClient中,用于文件上传的关键类是`MultipartEntityBuilder`。它允许我们将文件作为多部分/form-data类型的数据发送,这是HTTP协议中用于上传文件的标准格式。 3. **文件上传...

    Java 上传文件到 SharePoint

    在实际开发中,你还需要考虑错误处理和异常捕获,确保在文件上传过程中遇到问题时能够妥善处理。此外,如果SharePoint的访问控制较为严格,可能需要使用ADAL(Active Directory Authentication Library)来获取访问...

    httpClient上传文件

    在Java编程中,Apache HttpClient库是一个非常常用的工具,用于...以上就是使用Apache HttpClient进行文件上传的基本流程和技术细节,以及相关的Servlet处理部分。在实际开发中,还需要根据具体需求进行调整和优化。

    httpclient上传文件

    用httpcient上传文件,用httpclient上传文件

    HttpClient PostMethod 上传文件

    HttpClient是Apache基金会开发...总的来说,HttpClient是Java进行HTTP通信的强大工具,无论是简单的GET请求还是复杂的文件上传,都能轻松应对。通过理解其工作原理和使用方法,开发者能够高效地实现与Web服务器的交互。

    httpclient 上传文件

    总结起来,使用HTTPClient进行文件上传涉及创建POST请求、构建多部分实体、设置字符集,以及正确处理响应。乱码问题通常源于字符集不匹配,需在客户端和服务器端都进行适当的设置。理解这些知识点有助于在实际开发中...

Global site tag (gtag.js) - Google Analytics