Java方式实现上传微信素材
微信官方给出的例子仅仅是使用curl上传的本地资源,以下提供了一种模拟的请求方式去在代码中上传
byte[] fileBytes = "your file bytes";String filename = "your file name";String accessToken = "your wx access token";String type = "iamage";URL url = new URL(String.format("https://api.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s", accessToken, type));// 创建Http连接HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");conn.setDoInput(true);conn.setDoOutput(true);conn.setUseCaches(false);// 消息请求头信息conn.setRequestProperty("Connection", "Keep-Alive");conn.setRequestProperty("Charset", "UTF-8");// 设置开始边界String BOUNDARY = "----------" + System.currentTimeMillis();conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + BOUNDARY);String sb = "--" + BOUNDARY + "\r\n" +"Content-Disposition:form-data;name=\"media\";filename=\"" + filename + "\";filelength=\"" + fileBytes.length + "\"\r\n" +"Content-Type:application/octet-stream\r\n\r\n";byte[] head = sb.getBytes(StandardCharsets.UTF_8);// 创建输出流OutputStream out = new DataOutputStream(conn.getOutputStream());out.write(head);DataInputStream in = new DataInputStream(new ByteArrayInputStream(fileBytes));int bytes;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(StandardCharsets.UTF_8);out.write(foot);out.flush();out.close();StringBuilder buffer = new StringBuilder();try (BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()))) {// 读取响应String line;while ((line = reader.readLine()) != null) {buffer.append(line);}} catch (Exception e) {logger.warn("upload wx material error.", e);}//打印结果System.out.println(JSON.toJSONString(result));
Java方式实现上传微信素材相关推荐
- SpringMVC 处理multipart形式数据:java方式配置文件上传
为什么80%的码农都做不了架构师?>>> 首先利用Maven引入jar包: <dependency> <groupId>commons-io</g ...
- Java 微信公众号上传永久素材的方法
用 Java 实现微信公众号上传永久素材,代码如下: /*** 上传其他永久素材(图片素材的上限为5000,其他类型为1000)* @param appid* @param secret* @retu ...
- Java 微信上传临时素材
微信小程序创建直播间,服务端上传临时素材,微信开放社区隐藏太深,不好找,记录一下,抄就行,亲测好用!!! /** * graphurl:上传临时素材微信接口地址,自己拼就行,file:客户端上传的文件 ...
- 企业微信 上传临时素材 JAVA
上传临时素材 Controller @ResponseBody@RequestMapping(value = "/uploadFile", method = RequestMeth ...
- java公众号上传素材及发送图文消息实现
微信公众号先上传素材,再推送消息java代码实现: 首先公众号的图文消息是可以登录公众号,然后去管理--素材管理 下面去手动添加图文,图片,视频,音乐素材的.这样添加的素材属于永久素材. 用java ...
- 微信公众号(四)——上传永久素材(图片)
微信公众号在使用的接口的时候是通过media_id来进行的,所以在使用的接口的时候我们往往需要先上传素材,支持上传素材的格式和限制如下 图片(image): 2M,支持PNG\JPEG\JPG\GIF ...
- C#-微信公众平台接口-上传临时素材
最烦做微信公众平台的东西..文档说得不清不楚,又没示例代码,只能自己 慢慢搜索,弄了一晚上,基本弄出来了,把本地的图片上传到微信的临时素材那里,返回媒体ID,用于其他操作,代码如下 :(自己导入相应的 ...
- java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?
上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...
- Java实现文件上传到服务器(FTP方式)
Java实现文件上传到服务器(FTP方式) 1,jar包:commons-net-3.3.jar 2,实现代码: //FTP传输到数据库服务器private boolean uploadServerB ...
- 微信上传图文素材接口报41005错误解决方法
微信上传图文素材接口报41005错误解决方法 参考文章: (1)微信上传图文素材接口报41005错误解决方法 (2)https://www.cnblogs.com/gy1010/p/6674529.h ...
最新文章
- Mcad学习笔记之序列化(2进制和Soap序列化)
- 判断有向图g中顶点i到顶点j是否有路径_号称图的最短路径算法--Floyd算法
- 华为HCIE实验考试真题,杭州考场上午TS下午LAB
- 高性能JavaScript 读书笔记
- ios15 LJScrollPageVC第三方框架的使用
- android one x3怎么样,618旗舰手机怎么选,看完这篇文章,你就会知道
- 基于人工神经网络的识别C语言,实验一基于人工神经网络的数码识别.doc
- 靠能力赚大钱,是最最可笑的谎言
- error_logs
- 计算机不能辨别汉字wifi,电脑搜不到带汉字的wi-fi怎么办
- bootstrap学习心得总结
- 最新版本供需指标介绍,自动识别有价值的K线,超级好用
- studio 不能输入中文
- 初识C++之智能指针
- Spring Security CSRF防御源码分析
- 并发模型第肆讲-pre threaded模型
- 计算机组成原理学习-实验一 运算器实验(详细、系统)
- Linux虚拟机无法显示ip地址
- python使用matplotlib可视化、自定义设置X轴刻度标签字体的大小( setting axis ticks size in matplotlib x axis)
- linux下设置定时执行脚本