//定义两个成员变量常量

//获取临时素材(视频不能使用https协议)

public static final String GET_TMP_MATERIAL = "https://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s";

//获取临时素材(视频)

public static final String GET_TMP_MATERIAL_VIDEO = "http://api.weixin.qq.com/cgi-bin/media/get?access_token=%s&media_id=%s";

//获取微信服务器中生成的媒体文件

//由于视频使用的是http协议,而图片、语音使用http协议,故此处需要传递media_id和type

protected static File fetchTmpFile(String media_id, String type){

try {

String token = AccessTokenApi.getAccessToken().getAccessToken();

String url = null;

//视频是http协议

if("video".equalsIgnoreCase(type)){

url = String.format(GET_TMP_MATERIAL_VIDEO, token, media_id);

}else{

url = String.format(GET_TMP_MATERIAL, token, media_id);;

}

URL u = new URL(url);

HttpURLConnection  conn = (HttpURLConnection) u.openConnection();

conn.setRequestMethod("POST");

conn.connect();

BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());

String content_disposition = conn.getHeaderField("content-disposition");

//微信服务器生成的文件名称

String file_name ="";

String[] content_arr = content_disposition.split(";");

if(content_arr.length  == 2){

String tmp = content_arr[1];

int index = tmp.indexOf("\"");

file_name =tmp.substring(index+1, tmp.length()-1);

}

//生成不同文件名称

File file = new File(file_name);

BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));

byte[] buf = new byte[2048];

int length = bis.read(buf);

while(length != -1){

bos.write(buf, 0, length);

length = bis.read(buf);

}

bos.close();

bis.close();

return file;

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

java微信获取临时素材_java实现微信获取/下载临时素材相关推荐

  1. java 获取webcontent目录_java web项目获取src和WebContent目录下的配置文件

    1.首先上目录结构: 2.部署到tomcat,在servlet中测试,测试代码: package test; import java.io.IOException; import java.io.In ...

  2. java 朋友圈分享接口_Java实现微信公众平台朋友圈分享功能详细代码

    其实分享的方法在微信官网有较为详细的文档说明,现就其中一些比较绕的步骤进行总结,有问题随时交流哈. 首先微信其实已经自带分享到朋友圈,朋友,qq空间等功能,对于开发微信专门提供了一个接口,可以根据需要 ...

  3. java+自带excel导出_Java实现微信内置浏览器导出Excel表格功能

    最近做项目的时候遇到了这样一个问题,微信内置的浏览器把下载这个功能屏蔽了.唉,,,折腾了一天,从网上各种找资料,但是给的解决方案都不是我想要的(也不知道谁复制的谁的,基本都一样). 在快下班的时候,我 ...

  4. java支付接口开发原理_java对接微信支付接口开发的过程是什么?

    java对接微信支付接口开发的过程是什么?以下是小编整理的java对接微信支付接口实现的方法和过程,有需要的朋友可以学习以下的java对接微信支付接口内容. java对接微信支付接口开发的过程是什么? ...

  5. java实现的小程序_Java实现 微信小程序 + 消息推送

    实现效果: 下面要显示五个字段 接下来,参照官方文档,一步步实现: 一.官方给出请求示例.返回示例 二.根据上面编写实体类 (1)请求参数 @Data public class SendTemplat ...

  6. java与微信小程序通讯_java与微信小程序实现websocket长连接

    本文实例为大家分享了java与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容如下 背景: 需要在小程序实现地图固定坐标下实时查看消息 java环境 :tomcat7 jdk1. ...

  7. java微信支付异步通知_Java中微信支付退款异步通知解码

    微信所有的支付结果都是加密处理的,他和订单支付成功的异步通知不一样. 他的基本返回是: SUCCESS 我们需要对req_info解码才能看到退款的明文 解码后会得到明文: 解密步骤如下: (1)对加 ...

  8. java微信消息发送消息_JAVA模拟微信消息发送请求

    JavaWeb模拟微信(网页版)发送消息到好友.PS:不是公众号,是好友之间,或者发送到群. 1.发送文字消息到好友,或群. 2.分析参数: 这里写图片描述 {\"BaseRequest\& ...

  9. java 微信定位到市_java 实现微信搜索附近人功能

    最近给andorid做后台查询数据功能,有一个需求是模仿微信的查找附近人功能. 数据库中存储每个用户的经纬度信息及用户信息,通过当前用户传递过来的经纬度查询这个用户半径N公里以内的用户信息. 数据库表 ...

  10. java 微信多线程推送_Java实现 微信小程序 + 消息推送

    实现效果: 下面要显示五个字段 接下来,参照官方文档,一步步实现: 一.官方给出请求示例.返回示例 二.根据上面编写实体类 (1)请求参数 @Data public class SendTemplat ...

最新文章

  1. scala构建工具sbt使用介绍
  2. XMPP文件传输协议笔记
  3. while(1); 作用
  4. Flask框架(SQLAlchemy(python3版本)中修改数据的方法和删除数据 的方法)
  5. jquery $(function(){}) $(document).ready(function(){}); (function(){}); 的区别以及作用
  6. OpenGL(二)——OpenGL图形绘制
  7. vue2.0 非父子组件之间的单一事件通信
  8. [NOIP2011] 玛雅游戏
  9. E-mail和IM真的应该被监控么?
  10. 加壳后软件报毒解决办法
  11. java 计算器 junit测试_Java—Junit单元测试
  12. 实现仿微信朋友圈评论输入框
  13. 为什么不建议在外包公司长期工作及外包公司的简历怎么写
  14. Google Chrome显示粉红色屏幕
  15. 奈奎斯特与香农定理_这样解释奈奎斯特定理和香农定理,初学者也能明白
  16. 【软工作业思考】关于软工的一些概念性理解暨第一次阅读作业
  17. 有12个球,外形相同,其中一个小球的质量与其他11个不同,给一个天平,需要几次把这个小球找出来并且求出这个小球是比其他的轻还是重
  18. 有哪些比较好的pdf阅读器?思路提供
  19. 基于JAVA某日杂商店进销存管理系统设计计算机毕业设计源码+数据库+lw文档+系统+部署
  20. 福州大学计算机考研-一位二战考生的点点滴滴(连载1/5)

热门文章

  1. Word写作 | 如何在Word中把图片铺满整个页面
  2. 什么是驻点和拐点_临界点、驻点、拐点的定义是什么?
  3. 僵尸网络瞄准Linux服务器
  4. 微信公众号 永久图文素材 content html sample
  5. 【小月电子】XILINX FPGA开发板(XLOGIC_V1)系统学习教程-LESSON9简易测试系统
  6. 汽车IC TPS7A6633QDGNRQ1应用 低压降线性稳压器
  7. python数据挖掘14讲_python/pandas数据挖掘(十四)-groupby,聚合,分组级运算
  8. [语音处理] 声谱图(spectrogram)FBank(Mel_spectrogram)MFCC(Mel倒谱)到底用哪个作为NN输入?
  9. binlog2sql 用法
  10. 360随身WiFi取消登录与欢迎界面