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

httpclient上传带附件的参数

    博客分类:
  • Java
 
阅读更多

 

public static String getMimeType(String fileUrl) throws java.io.IOException {

FileNameMap fileNameMap = URLConnection.getFileNameMap();

String type = fileNameMap.getContentTypeFor(fileUrl);

 

return type;

}

 

// 上传带附件的参数:

public static String uploadFile(String filePath, String id, int bid) {

File file = new File(

"D:\\workspace\\NewsRobot\\download\\laddyphoto\\37294_236809_702347.jpg");

if (!file.exists()) {

return "文件不存在!";

}

String url = "http://www.chahushequ.com/post.bbscs";

PostMethod filePost = new PostMethod(url);

 

//仅设置User-Agent就行,不用设置Content-Type,设置了Content-Type有可能导致上传不成功

filePost .setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20100101 Firefox/8.0");

 

// set cookie

if (_cookies != null) {

filePost.setRequestHeader("Cookie", _cookies);

}

 

try {

// FilePart:用来上传文件的类

FilePart fp = new FilePart("headImageFile", file); // Part:类专门用来上传文件,其子类

// ,FilePart:用来上传文件的类

// StringPart:普通的文本参数

System.out.println("---" + fp);

 

fp.setContentType(getMimeType(filePath));

 

// StringPart:普通的文本参数

StringPart idPart = new StringPart("id", "");

StringPart bidPart = new StringPart("bid", String.valueOf(bid));

StringPart action = new StringPart("action", "upfiledo");

 

Part[] parts = { idPart, bidPart, action, fp };

 

// 对于MIME类型的请求,httpclient建议全用MulitPartRequestEntity进行包装

MultipartRequestEntity mre = new MultipartRequestEntity(parts,

filePost.getParams());

 

filePost.setRequestEntity(mre);

 

HttpClient client = new HttpClient();

client.getHttpConnectionManager().getParams().setConnectionTimeout(

50000);// 设置连接时间

int status = client.executeMethod(filePost);

System.out.println(status + "--------------");

if (status != HttpStatus.SC_OK) {

System.out.println(status + "--------------fail----");

} else if (status == HttpStatus.SC_OK) {

String str = "";

str = filePost.getResponseBodyAsString();

System.out.println(filePost.getResponseBodyAsString()

+ "---------服务器返回值---------");

}

 

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

分享到:
评论

相关推荐

    httpClient上传文件,参数,json对象,以及接收方法

    花了大半天写的测试类,用的时候记得改下引用的包名,可以当util工具类用,其他说明见博客 ...流方式发送接收: ...觉得可以的话,又不想复制粘贴,就花点积分下载吧,o(* ̄︶ ̄*)o

    HttpClient PostMethod 上传文件

    在本示例中,我们将深入探讨如何使用HttpClient的PostMethod来上传文件,以及处理Get和Post请求中的乱码问题。 一、HttpClient基础 HttpClient库提供了一套完整的API,允许我们构建复杂的HTTP请求。它支持GET、POST...

    upload实现多附件上传

    在Spring MVC中,我们可以在控制器方法的参数列表中声明一个`MultipartFile`类型的列表,以接收用户上传的多个文件。 二、表单提交与 enctype 属性 要实现多文件上传,HTML表单需要设置`enctype="multipart/form-...

    Android 使用HttpClient和第三方MiME文件上传类库,实现文件上传带进度条

    2. 创建HttpClient对象,并设置请求参数: ```java HttpClient httpClient = new DefaultHttpClient(); HttpParams httpParams = httpClient.getParams(); httpParams.setParameter(CoreProtocolPNames.PROTOCOL_...

    泛微E9获取附件内容,泛微Ecology9获取附件范例,Ecology9附件、E9附件下载,并发送邮件到邮箱JAVA.zip

    首先,你需要设置好请求的URL,通常是API的入口地址,加上获取附件的特定参数。例如,可能需要提供流程实例ID或附件ID来精确定位附件。然后,设置请求头,包括必要的认证信息,如OAuth令牌或者基础认证的用户名和...

    解决HttpClient中文乱码问题jar文件

    2. **使用HttpPost和NameValuePair**:对于POST请求,我们应使用`HttpPost`类,并通过`NameValuePair`来设置带有中文参数的请求。在添加NameValuePair到请求实体时,需要指定UTF-8编码,例如`new BasicNameValuePair...

    Java自带的HttpURLConnection访问接口实现文件上传

    在本文中,我们将深入探讨如何使用HttpURLConnection实现文件上传,同时也会涉及普通参数的传递。 首先,我们需要理解HTTP请求的基本结构。HTTP请求通常由以下几个部分组成:请求行、请求头、空行和请求体。在文件...

    致远OA上传文件、附件方法

    本篇文章将重点讲解如何在致远OA系统中通过Java代码实现文件上传以及获取附件ID的操作,以便于后续的表单提交。 首先,我们来理解一下“附件ID”。在OA系统中,每个上传的文件都会被赋予一个唯一的ID,这个ID在后续...

    CXF之二(上传及下载附件)

    例如,可以有一个名为`uploadFile`的方法,接受`InputStream`或`Part`作为参数,表示来自客户端的上传文件。 2. **配置CXF服务端**: 在CXF服务端,我们需要配置一个实现上述接口的类,并设置相应的处理器来处理...

    SWING实现的上传控件,嵌入APPLET实现

    3. **文件上传**:在APPLET中,可以使用`java.net.URLConnection`或者第三方库如Apache HttpClient来与服务器建立连接,发送POST请求并将文件作为请求的一部分上传。注意,为了安全性和性能,通常会使用异步上传方式...

    大附件断点续传示例

    `HttpClient`类提供了发送POST请求并携带数据的能力,而`MultipartFormDataContent`则用于构造多部分表单数据,用于上传文件块。 总的来说,这个C#示例为开发者提供了一个实用的工具,用于理解并实现大附件的断点续...

    C#用POST方式发送数据大小不受限制的方法

    ### C#用POST方式发送数据大小不受限制的方法 ...需要注意的是,在实际应用中还需根据具体情况调整参数设置,以确保数据传输的安全性和稳定性。同时,考虑到网络状况的变化,还需要做好异常处理,确保程序的健壮性。

    c# http协议,实现get或post发送请求 并返回内容

    参数通常附加在URL后面,可见且可缓存。GET请求对数据量有限制,一般不超过2KB。 2. POST:POST请求则用于向服务器发送数据,通常用于提交表单或者上传文件。POST请求的数据包含在请求体中,对数据量无明显限制,且...

    org.apache.http.client

    这个库特别适用于上传和下载包含多部分形式数据的HTTP请求,例如在Web表单中提交文件或处理复杂的附件。它提供了`MultipartEntity`类,用于构建符合MIME标准的复杂请求实体,以及解析服务器返回的多部分响应。 在...

    java实现http协议jar包

    7. **httpmime-4.5.3.jar**:这个库支持在HTTP请求中使用MIME类型,例如上传文件或处理复杂的POST请求,这在发送带有附件或其他非文本数据的HTTP请求时很有用。 8. **fluent-hc-4.5.3.jar**:Apache Fluent HC提供...

    apache-mime4j-0.6.jar&httpmime-4.0.1.jar

    MIME(Multipurpose Internet Mail Extensions)是一种标准,扩展了电子邮件系统,使其能够传输不仅仅是文本,还包括图像、音频、视频等多种类型的附件。在Android应用中,当需要发送或接收包含多种类型数据的邮件、...

    httpmime-4.25.jar.zip

    通过httpmime,开发者可以轻松地处理带有附件、多部分表单数据或复杂内容类型的HTTP请求。 二、主要功能 1. POST请求处理:httpmime-4.25.jar提供了一套完整的API,用于构建和发送包含复杂数据结构的POST请求。...

    httpmime-4.0.1.jar.zip

    在实际使用Httpmime-4.0.1.jar时,开发者需要注意与HttpClient库的集成,以及正确配置HTTP客户端的相关参数,如超时设置、重试策略等。同时,由于Httpmime库是基于Java的,因此还需要熟悉Java编程基础,以便更好地...

    httpasyncclient-4.0-beta4.jar、httpcore-4.3.2.jar和httpmime-4.3.5.jar

    - 它提供了MultipartEntityBuilder类,方便构建复杂的MIME类型请求体,支持多部分上传、文件附件等。 - HttpMime库可以帮助开发者轻松处理HTTP请求中的多媒体内容,例如在Web服务中进行文件上传或下载操作。 这三...

Global site tag (gtag.js) - Google Analytics