公众号上传临时素材获取media_id
2018-01-15 11:13
453 查看
公众号上传临时素材获取media_id
java语言更新于2018-01-15
public class Util{ private static final String UPLOAD_URL = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"; public static String uploadFile(String filePath, String accessToken, String type) throws Exception{ 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"); //conn.setRequestProperty("Content-Type","multipart/form-data;"); //设置边界 String BOUNDARY = "----------" + System.currentTimeMillis(); conn.setRequestProperty("Content-Type","multipart/form-data;boundary="+BOUNDARY); StringBuilder sb = new StringBuilder(); sb.append("--"); sb.append(BOUNDARY); sb.append("\r\n"); sb.append("Content-Disposition:form-data;name=\"file\";filename=\""+file.getName()+"\"\r\n"); sb.append("Content-Type:application/octet-stream\r\n\r\n"); byte[] head = sb.toString().getBytes("utf-8"); //输出流 OutputStream out = new DataOutputStream(conn.getOutputStream()); out.write(head); //文件正文部分 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--" + BOUNDARY + "--\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(); } reader.close(); //需要添加json-lib jar包 JSONObject json = JSONObject.fromObject(result); System.out.println(json); String mediaId = json.getString("media_id"); return mediaId; } }
相关文章推荐
- 公众号上传临时素材获取media_id 出现 {"errcode":41005,"errmsg":"media data missing"}
- 微信永久素材上传视频并通过mediaid获取微信url调用视频
- 微信jssdk 上传永久图片素材,获取Media_ID
- 微信开发图文素材上传的thumb_media_id字段的选取问题
- 根据媒体ID获取微信临时素材
- 上传media数据到微信,然后获取media_id
- 微信上传图文消息invalid media_id hint,thumb_media_id怎么获取
- 微信公众号开发---上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing
- 【微信上传素材接口--永久性】微信永久性上传、获取返回的medie_id 和url
- php上传公众号临时素材-微信开发素材管理6
- 公众号上传视频语音素材,公众平台临时素材开发,微信开发素材管理7
- 微信公众号上传图文素材thumb_media_id的获得
- php 微信开发之新增上传/获取下载临时素材
- 微信公众号开发---上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing
- thinkphp 通过网页上传过来的多个id ,传到服务器端,用这些id 去获取相应的值,然后再返回给网页
- Java企业微信开发_06_素材管理之上传本地临时素材文件至微信服务器
- 微信上传网络图片到临时素材
- 使用httpclient4.3.2来实现微信临时素材的上传
- 获取公众号二维码中的场景值scene_str,scene_id,php开发公众平台场景值
- java实现上传网络图片到微信临时素材