公众号客服头像上传:form-data格式

亲测,可以直接使用

    public String addCustomer(MultipartFile file, Integer publicNumberId, String kfAccount) {//完整客服帐号,格式为:帐号前缀@公众号微信号PublicNumber publicNumber = new PublicNumber();publicNumber.setId(publicNumberId);PublicNumber publicNumberOne = publicNumberService.selectPublicNumber(publicNumber);String appId = publicNumberOne.getAppId();// 获取公众号AccessTokenString authorizerAccessToken = jedisTemplate.get("authorizer_access_token" + appId);log.info("authorizerAccessToken==============" + authorizerAccessToken);if (StringUtils.isBlank(authorizerAccessToken)) {authorizerAccessToken = getAuthorizerRefreshToken(appId);}log.info("a.添加客服 ------------apiAccessToken---" + authorizerAccessToken);//添加头像信息String headUrl = "https://api.weixin.qq.com/customservice/kfaccount/uploadheadimg?access_token=" + authorizerAccessToken + "&kf_account=" + kfAccount;String result = null;StringBuilder buffer = new StringBuilder();BufferedReader reader = null;try {//头像连接URL urlObj = new URL(headUrl);HttpURLConnection con = (HttpURLConnection) urlObj.openConnection();// 以POST方式提交表单,默认get方式con.setRequestMethod("POST");con.setDoInput(true);con.setDoOutput(true);// POST方式不能使用缓存con.setUseCaches(false);// 设置请求头信息con.setRequestProperty("Connection", "Keep-Alive");con.setRequestProperty("Charset", "UTF-8");// 设置边界String boundary = "----------" + System.currentTimeMillis();con.setRequestProperty("Content-Type", "multipart/form-data; boundary="+ boundary);// 第一部分StringBuilder sb = new StringBuilder();// 必须多两道线sb.append("--");sb.append(boundary);sb.append("\r\n");//上传头像和上传多媒体主要是下面这句话有却别//头像:获取文件名称String fileNme = System.currentTimeMillis() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));log.info("a.添加客服 ------原始文件名------fileNme---" + fileNme);sb.append("Content-Disposition: form-data;name=\"media\";filename=\"").append(fileNme).append("\"\r\n");//获取文件类型设置成请求头sb.append("Content-Type:").append(file.getContentType()).append("\r\n\r\n");byte[] head = sb.toString().getBytes("utf-8");// 获得输出流OutputStream out = new DataOutputStream(con.getOutputStream());// 输出表头out.write(head);log.info("a.添加客服 ------输出表头------sb---" + sb.toString());// 文件正文部分// 把文件以流文件的方式推入到url中InputStream in = file.getInputStream();int bytes = 0;byte[] bufferOut = new byte[1024];while ((bytes = in.read(bufferOut)) != -1) {out.write(bufferOut, 0, bytes);}in.close();// 结尾部分// 定义最后数据分隔线byte[] foot = ("\r\n--" + boundary + "--\r\n").getBytes("utf-8");out.write(foot);out.flush();out.close();// 定义BufferedReader输出流来读取URL的响应reader = new BufferedReader(new InputStreamReader(con.getInputStream()));String line = null;while ((line = reader.readLine()) != null) {buffer.append(line);}result = buffer.toString();} catch (IOException e) {log.error("============添加头像接口异常==========="+e.getMessage());} finally {if (reader != null) {try {reader.close();} catch (IOException e) {log.error("============添加头像接口关闭reader异常==========="+e.getMessage());}}}log.info("------上传微信客服完成返回的数据-------" + result);return result;}

版权声明:转发请备注转发出处 https://blog.csdn.net/weixin_40207238/article/details/79269687 参考此链接做出的修改

公众号客服头像上传-java相关推荐

  1. PHP 微信公众号真正正确的客服头像上传

    首先我们来看官方文档 这TM的搞笑呢 什么破玩意儿! 需要条件 1 需要有一个客服的账号 (废话) 2 一致jpg格式的图片(扯蛋) 完整流程 1 获取access_token 2获取账号 3 $ur ...

  2. Java实现微信公众号客服功能和本地联调

    Java实现微信公众号客服功能 微信公众平台设置 生产环境 公众号 设置 [开发]–> [基本配置]–> [服务器配置] 注: a.服务器地址(URL) 是开发者用来接收微信消息和事件的接 ...

  3. h5 修改title 微信_微信公众号客服消息不限次数推送如何设置?

    在公众平台发送客服消息,只能通过消息管理功能实现,仅支持一个个粉丝单独发送文本信息,如果想要实现更多功能效果,可以使用微号帮平台的48小时信息推送功能实现,或者通过公众号平台的接口编程开发实现功能,都 ...

  4. 怎么在一台电脑登录多个微信公众号客服-微信公众号使用教程25

    微信公众号可以设置100个微信客服人员, 如果每台电脑只登录一个客服人员, 就需要100台电脑, 无疑这样极大的提高了公司的人力成本和物资成本! 那么有没有什么方法, 可以在一台电脑上登录多个微信客服 ...

  5. 微信公众号客服系统怎么生成能追踪效果的二维码?

    想要做好微信公众号的运营,专业的技能少不了,但是也要具有善于使用工具的能力,正所谓"工欲善其事必先利其器",一款好的客服系统,不但可以方便我们进行客户接待,还能帮助我们生分析公众号 ...

  6. 微信公众号客服功能如何开通?

    微信公众号客服功能如何使用,很多人想要通过公众号推广自己的产品,但是不知道该如何使用客服功能,其实很简单,在公众号后台就可以设置 首先登陆微信公众号进入公众号后台 然后点击"添加功能插件&q ...

  7. 微信公众号客服系统怎么实现消息提醒,快速回复粉丝留言?

    很多做微信公众号运营的小编,都会有这样的工作经验吧,一上班就开始刷新微信公众号后台,看看有没有粉丝留言,然后这一天就开始了时不时打开后台页面看一下,即使这样还是免不了粉丝留言晚回或者漏回的情况发生,追 ...

  8. 微信公众号之(素材上传)群发消息

    微信公众号之(素材上传)群发消息 利用工作之余写写博客,看看博客是个学习的好方法哦! 微信公众号之素材上传群发消息 第一步上传图片视频音频等 第二步上传图文素材 第三步进行群发 第一步上传图片(视频. ...

  9. 微信公众号发送小程序卡片_小程序、公众号客服消息可以发送小程序卡片啦

    下面的样式,相信不少人都见过,却极少有人知道它叫什么↓↓↓ 这就是小程序卡片,它是微信小程序分享特有的样式.在微信聊天中,经常可以看到这样的样式. 点击小程序卡片就可以跳转到对应的小程序,简单粗暴的跳 ...

最新文章

  1. Robot Framework Webdriver For Firefox FQA
  2. angular2的模板语法
  3. UISegmentedControl swift
  4. 【Redis】三、Redis安装及简单示例
  5. java生成随机数的两种方式
  6. libsvm 的使用
  7. 笔试编程题常用的一些技巧方法
  8. Linux之Mysql升级
  9. Ubuntu 14.04下360/小米/百度等随身Wifi驱动安装方法
  10. Maya中AO贴图的一些烘焙心得
  11. python 计算箱线图、中位数、上下四分位数等
  12. 平庸前端码农之蜕变 — AST
  13. 《关于我同学拿我照片网恋这件事所引发的学习之旅》(1)
  14. Spring5笔记【狂神说】
  15. WEB编程开发常用的代码 选择自 AppleBBS 的 Blog
  16. Bootstarp:网站导航栏的编写设计
  17. yyyy-MM-dd和YYYY-MM-dd格式化日期的区别你知道吗?
  18. mysql开外网访问
  19. 想要年薪百万,阿里Sentinel支持RESTful接口都搞不定?
  20. EDG夺冠,Python分析一波B站评论,总结:EDG,nb

热门文章

  1. 猿创征文|使用SQL创建学生信息管理数据库(完整)
  2. “红粬黄酒第一村”乡贤吴善远联合聚力创办北墘酒业
  3. 抖音SEO优化/系统搭建/源码
  4. vagrant springcloud java 镜像:制作详解(带下载地址)
  5. 深度强化学习+启发人类的决策智能,专访一家有愿景的中国企业「启元世界」... 1
  6. IT项目经理的大项目售前、售中和售后感悟
  7. Xcode 更改默认版本 xcode-select
  8. php 没有jstl,jstl,java-ee_JSTL test 为什么没起作用,jstl,java-ee - phpStudy
  9. 工具使用——使用华为手机作为电脑的拓展屏
  10. knockout,change事件