media_id 获取
来源:互联网 发布:android源码的使用 编辑:程序博客网 时间:2024/06/04 18:53
/*
进行图片 声音 视频 等信息的回复时 我们都会需要一个media_id
"素材管理"--->"新增临时素材"提供了获取media_id的接口
*/
private static final String UPLOAD_URL="https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE";
public static String upload(String filePath,String accessToken,String type) throws IOException{
File file=new File(filePath);
if(!file.exists()||!file.isFile()){
throw new IOException("文件不存在");
}
String url=UPLOAD_URL.replace("ACCESS_TOKEN", accessToken).replace("TYPE", type);
URL urlobj=new URL(url);
HttpURLConnection conn=(HttpURLConnection) urlobj.openConnection();
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
//设置头信息
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Charset","UTF-8");
//设置边界
String BOUNFARY="----------"+System.currentTimeMillis();
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary="+BOUNFARY);
StringBuilder sb=new StringBuilder();
sb.append("--");
sb.append(BOUNFARY);
sb.append("\r\n");
sb.append("Content-Disposition:from-data;name=\"file\";filename=\""+file.getName()+"\"\r\n");
sb.append("Content-Type:application/actet-stream\r\n\r\n");
byte[] head=sb.toString().getBytes("utf-8");
//获得输出流
OutputStream out=new DataOutputStream(conn.getOutputStream());
//输出表头
out.write(head);
//文件正文部分
//把文件以流的方式 推入到url
DataInputStream in=new DataInputStream(new FileInputStream(file));
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--"+BOUNFARY+"--\r\n").getBytes("utf-8");
out.write(foot);
out.flush();
out.close();
StringBuffer buffer=new StringBuffer();
BufferedReader reader=null;
String result=null;
reader=new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line=null;
while((line=reader.readLine())!=null){
buffer.append(line);
}
if(result==null){
result=buffer.toString();
}
if(result!=null){
reader.close();
}
JSONObject jsonObject=JSONObject.fromObject(result);
System.out.println(jsonObject);
String typeName="media_id";
if(!"image".equals(type)&&!"voice".equals(type)&&!"video".equals(type)){
typeName=type+"_media_id";
}
String mediaid=jsonObject.getString(typeName);
return mediaid;
}
- media_id 获取
- 上传media数据到微信,然后获取media_id
- 获取微信企业号media_id
- HttpClient之https微信获取视屏media_id
- 微信群发接口发送视频获取media_id返回null
- 微信jssdk 上传永久图片素材,获取Media_ID
- 微信群发图文消息invalid media_id hint,thumb_media_id怎么获取
- 微信公众号开发接收图片消息,获取用户发送图片的media_id
- 公众号上传临时素材获取media_id 出现 {"errcode":41005,"errmsg":"media data missing"}
- #学志#上传图片到微信服务器获得media_id和url
- 上传图文{"errcode":40007,"errmsg":"invalid media_id"}解决方案
- 微信上传图文消息素材报错:{ errcode: 40007, errmsg: 'invalid media_id hint: [klcWoA0078ure1]' }
- 获取句柄获取指针
- C# 获取获取经纬度!
- 获取eclipse获取路径
- 获取版本号、获取手机型号
- 获取定位,获取屏幕
- 获取applicationContext、获取request
- Zabbix Proxy在centos6.5final的安装
- 第十四周 项目三 电子词典
- 数据库Sharding的基本思想和切分策略
- 圈水池(凸包)
- 关于垂直切分Vertical Sharding的粒度
- media_id 获取
- 数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
- 黑马day06 EL之自定义EL函数
- JavaBean概念与理解
- 数据库分库分表(sharding)系列(四) 多数据源的事务处理
- 线程同步之volatile关键字
- 《生命如一泓清水》俞敏洪
- 数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案
- 自我收藏的网站