php 上传微信客服头像,微信多客服上传头像
/**
*
* @Title: uploadMedia
* Description:上传头像
* @author houzhipeng
*
* @param type
* @param kf_account
* @param mediaFileUrl void
* @throws
*/
public static void uploadMedia(String type, String kf_account, String mediaFileUrl) {
// 拼装请求地址
String access_token = AccessTokenApi.getAccessToken().getAccessToken();
String uploadMediaUrl = "http://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token="
+ access_token + "&kf_account=" + kf_account;
// 定义数据分隔符
String boundary = "------------7da2e536604c8";
try {
URL uploadUrl = new URL(uploadMediaUrl);
HttpURLConnection uploadConn = (HttpURLConnection) uploadUrl.openConnection();
uploadConn.setDoOutput(true);
uploadConn.setDoInput(true);
uploadConn.setRequestMethod("POST");
// 设置请求头Content-Type
uploadConn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
// 获取媒体文件上传的输出流(往微信服务器写数据)
OutputStream outputStream = uploadConn.getOutputStream();
URL mediaUrl = new URL(mediaFileUrl);
HttpURLConnection meidaConn = (HttpURLConnection) mediaUrl.openConnection();
meidaConn.setDoOutput(true);
meidaConn.setRequestMethod("GET");
// 从请求头中获取内容类型
String contentType = meidaConn.getHeaderField("Content-Type");
// 请求体开始
outputStream.write(("--" + boundary + "\r\n").getBytes());
outputStream.write(String.format("Content-Disposition: form-data; name=\"media\"; filename=\"file1\"\r\n")
.getBytes());
outputStream.write(String.format("Content-Type: %s\r\n\r\n", contentType).getBytes());
// 获取媒体文件的输入流(读取文件)
BufferedInputStream bis = new BufferedInputStream(meidaConn.getInputStream());
byte[] buf = new byte[8096];
int size = 0;
while ((size = bis.read(buf)) != -1) {
// 将媒体文件写到输出流(往微信服务器写数据)
outputStream.write(buf, 0, size);
}
// 请求体结束
outputStream.write(("\r\n--" + boundary + "--\r\n").getBytes());
outputStream.close();
bis.close();
meidaConn.disconnect();
// 获取媒体文件上传的输入流(从微信服务器读数据)
InputStream inputStream = uploadConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuffer buffer = new StringBuffer();
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
uploadConn.disconnect();
// 使用JSON-lib解析返回结果
JSONObject jsonObject = JSONObject.fromObject(buffer.toString());
// 测试打印结果
System.out.println("打印测试结果" + jsonObject);
} catch (Exception e) {
String error = String.format("上传媒体文件失败:%s", e);
System.out.println(error);
}
}
php 上传微信客服头像,微信多客服上传头像相关推荐
- 小程序template模板 为知你客服传入微信头像和昵称
小程序template模板 为 知你客服 传入微信头像和昵称 自从利用了知你客服以来,我们自己的小程序已经完全完成了服务内环化,即所有操作已经可以完全在微信内部完成,不必在使用qq联系客户,但在未配置 ...
- 使用微信小程序客服消息上的一些注意事项!小程序客服消息按钮,接入及消息接收
本文分为四部分,为大家介绍一下,小程序客服消息上的一些解决方案 1.增加小程序客服按钮 2.实现客服会话(绑定客服人员,消息推送配置) 3.如何实现小程序客服智能消息(自动回复等) 4.用手机回复小程 ...
- 微信小程序填坑之路(三)--上传头像
上传头像, 使用wx.chooseImage({})后 在使用wx.uploadFile({})结合起来使用. 示例代码: Page({data: {src: "../../image/ph ...
- 关于微信小程序云开发---实现客服自动回复图片例子
关于微信小程序云开发-实现客服自动回复例子 微信自带的云开发功能使前端工程师可以独立的开发出一款小程序,微信自带的云开发. 首先和开发其他平台的项目一样先看官方文档. 微信小程序开放文档 一. 什么是 ...
- 微信发单机器人_微信多客服系统SDK通信接口
淘宝客微信发单机器人微信多客服系统SDK通信接口定义 手机客户端上传的通知类消息 (删除了没用的) 8.手机客户端微信上线通知 9.手机客户端微信下线通知 10.微信个人号新增好友通知 11.微信个人 ...
- 微信个人号客服系统淘宝客发单机器人sdk服务端接口列表
微信个人号客服系统淘宝客发单机器人sdk服务端接口列表 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo ...
- 微信个人号多开云客服系统定制通信标准协议
微信个人号多开云客服系统(SCRM客服系统)通信标准协议定义: 1.获取通信token请求消息(DeviceAuthReqMessage) 2.获取通信token结果消息(DeviceAuthRspM ...
- 微信小程序:收藏、客服、分享、加入购物车、图片放大预览
微信小程序:收藏.客服.分享.加入购物车.图片放大预览 微信小程序包含功能 ·轮播 ·图片放大预览 ·收藏 ·客服 ·加入购物车 在goods_detail下的index.wxml写页面代码 < ...
- 微信客服接口php,企业客服接口说明
向企业号客服发送客服消息 接口说明 该接口用于向客服人员发送消息,支持文本.图片.文件消息.sender和receiver有且只有一个类型为kf.当receiver为kf时,表示向客服发送用户咨询的问 ...
- 微信公众平台开发之微客服
微信公众平台开发之微客服是实现人工客服的重要手段.前面我们介绍如何添加自定义回复,当用户发送某个关键词给我们的平台的时候就能根据我们添加的关键词自动回复.但是这样我们不能把所有的词语都添加进去,有时候 ...
最新文章
- 鲜为人知的静态、命令式编程语言——Nimrod
- amd黑苹果万能显卡驱动_黑苹果系统安装之声卡驱动
- opencv 直线检测笔记
- AI 基础:Python 简易入门
- 面试官:序列化和反序列化为什么要实现Serializable接口?
- 文本内容之间的关键词提取和相似度计算
- python123百钱买百鸡_day01笔记-百钱买百鸡(100文钱,必须买100只鸡,有几种方式)
- 阿里云CentOS 7.4安装Zabbix 4.2
- range函数--python内置函数
- 在GeoServer里设置图层的默认自定义样式,出现不显示预览图的情况(不起作用)...
- 安装win7系统时出现蓝屏0000007e解决方案
- Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning
- web work 。。。
- python自动抢单_【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)...
- Nagios监控服务器与客户端的安装
- 学习VM上运行dnf(整理)
- 半加器——Verilog HDL语言
- 机器学习肝炎预测模型machine learning for hepatitis prediction model
- 【时序分割】【未完成】Greedy Gaussian Segmentation of Multivariate Time Series(贪心高斯时序分割---GGS)
- c语言中用递归实现等差数列前n项和,[编程题] 递归实现等差数列和阶乘