我正在尝试使用httpClient库上传图像(多部分/表单数据) . 我可以使用httpPost方法和byteArrayRequestEntity上传图像 . 以下是我使用的代码:

File file = new File(imageFilePath);

HttpClient client = new HttpClient();

PostMethod method = new PostMethod("https://domain/link/folderId/files?access_token="+accessToken);

method.addRequestHeader("Content-Type","multipart/form-data;boundary=AaB03x");

String boundary = "AaB03x";

StringBuilder builder = new StringBuilder();

builder.append("--");

builder.append(boundary+"\r\n");

builder.append("Content-Disposition: form-data; name=\"file\"; filename=\"photo.jpg\"");

builder.append("\r\n");

builder.append("Content-Type: image/jpeg");

builder.append("\r\n");

builder.append("\r\n");

ByteArrayOutputStream baos = new ByteArrayOutputStream();

baos.write(builder.toString().getBytes("utf-8"));

builder.setLength(0);

InputStream is = new FileInputStream(file);

byte[] buffer = new byte[4096];

int nbRead = is.read(buffer);

while(nbRead > 0) {

baos.write(buffer, 0, nbRead);

nbRead = is.read(buffer);

}

is.close();

builder.append("\r\n");

builder.append("--");

builder.append(boundary);

builder.append("--");

builder.append("\r\n");

baos.write(builder.toString().getBytes("utf-8"));

method.setRequestEntity(new ByteArrayRequestEntity(baos.toByteArray(), "multipart/form-data; boundary=\"" + boundary + "\""));

System.out.println(method.getRequestEntity().toString());

client.executeMethod(method);

但我正在研究的项目要求我使用httpRequest而不是Http PostMethod . 我尝试使用basicHttpEntityEnclosingRequest,但同样的setEntity方法只接受一个httpEntity(我使用的是ByteArrayRequestEntity) .

任何人都可以帮我修改代码,以便它使用HttpRequest(或其子类型)而不是PostMethod?

http multipart java_Http MultiPart请求相关推荐

  1. python表单文件请求_python处理multipart/form-data的请求方法

    方法1: import requests url = "http://www.xxxx.net/login" #参数拼凑,附件上传格式如picurl参数,其他表单参数值拼成tupl ...

  2. java中的multipart_在java中解析Multipart /与Multipart/Alternative主体...

    我从客户端收到电子邮件,他们在multipart / mixed消息中嵌套了multipart / alternative消息.当我得到消息的正文时,它只返回multipart / alternati ...

  3. python 处理数据类型data_python处理multipart/form-data类型请求

    说起content-type为multipart/form-data类型的请求,这个通常我们是用来做文件上传类的.当然也有因为请求数据大 过大采用这种类型,那么我们可以像x-www-form-urle ...

  4. python requests form data_python使用requests发送multipart/form-data请求数据

    def client_post_mutipart_formdata_requests(request_url,requestdict): #功能说明:发送以多部分表单数据格式(它要求post的消息体分 ...

  5. 【转】HTTP协议之multipart/form-data请求分析

    原文链接:http://blog.csdn.net/five3/article/details/7181521 首先来了解什么是multipart/form-data请求: 根据http/1.1 rf ...

  6. php http form的格式,multipart/form-data 格式的http请求,以及lua构造实现

    大多数前端工程师对于这个multipart/form-data并不陌生,当我们需要发送二进制数据如图片时,通常会用到这个玩意儿-我们用form表单提交数据时,会指定form元素的enctype属性值为 ...

  7. HTTP协议之multipart/form-data请求分析

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 首先来了解什么是multipa ...

  8. 理解 multipart/form-data 请求

    根据http/1.1 rfc 2616的协议规定,我们的请求方式只有OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE等,那为为何我们还会有multipart/form-da ...

  9. postman上传文件(multipart/form-data请求)

    postman上传文件(multipart/form-data请求) 背景 网页的form表单中,如果存在上传文件的表单,则需要将form标签设置enctype="multipart/for ...

最新文章

  1. CodeGen融合核心关系循环扩展
  2. 每日英语:China's Labor Market Tightens
  3. 大数据下的电商新打法
  4. 如何删除未推送的git commit?
  5. java if语句选择题_选择语句(if else) 习题(2017/12/1)
  6. Python十分适合用来开发网页爬虫
  7. CSS深入理解学习笔记之vertical-align
  8. mongodb客户端操作常用命令
  9. linux系统硬盘数据恢复软件下载,R-Linux|R-Linux(linux数据恢复软件)下载 v5.1中文免费版 - 121下载站...
  10. 直接获取Program Files目录的API
  11. [导入][ASP.NET 控件实作 Day14] 继承 CompositeControl 实作 Toolbar 控件
  12. android 启动器 v2ex,V2EX社区客户端 V2EX-android
  13. Qimera和Fledermas处理大批量多波束数据的思考
  14. 海康威视web开发包开发使用说明
  15. UP主分析丨B站“肝视频”第一人,追剧的速度都跟不上他。
  16. 如何解决登录遇到Oops!Account deactivated错误
  17. 随心所欲的“四舍五入” 之 FLOOR函数如何使用?
  18. (转载)页面静态化(JSP动态页面转静态化)
  19. [转]量子力学与心灵的探讨_我是亲民_新浪博客
  20. Windows非法文件和目录的创建及删除方式

热门文章

  1. linux环境安装 kafka 0.8.2.1 jdk1.6
  2. Springboot-Flowable 快速开发工作流
  3. idea集成Activiti Designer插件
  4. 实战05_SSM整合ActiveMQ支持多种类型消息
  5. 解决vue里iscroll(better-scroll)点击触发两次和初始化无法滚动问题!
  6. JavaScript-jQuery操作Dom元素
  7. Java-标识符和关键字
  8. 8s存储最佳方案_MaxiDi, 意大利:自动化物流解决方案
  9. python中idle怎么打开_为什么我的python脚本只打开IDLE?
  10. mysql 用户管理表_mysql用户管理