微信公众号素材上传.doc_第1页
微信公众号素材上传.doc_第2页
微信公众号素材上传.doc_第3页
微信公众号素材上传.doc_第4页
微信公众号素材上传.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/* * 上传 * * param path * param file * return * throws Exception * * author CaoFeng * version 1.0.0 * since JDK 1.6 */private static String connectHttpsByPost(String path,File file) throws ExceptionString result =null; URL url = new URL(path);/ 创建连接 HttpURLConnection con = (HttpURLConnection) url .openConnection(); con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); / post方式不能使用缓存 / 设置请求头信息 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(rn); sb.append(Content-Disposition: form-data;name=media;filelength=+file.length()+;filename= + file.getName() + rn); sb.append(Content-Type:application/octet-streamrnrn); byte head = sb.toString().getBytes(utf-8); / 获得输出流 OutputStream out = new DataOutputStream(con.getOutputStream(); / 输出表头 out.write(head); / 文件正文部分 / 把文件以流文件的方式 推入到url中 DataInputStream in = new DataInputStream(new FileInputStream(file); int bytes = 0; byte bufferOut = new byte1024; while (bytes = in.read(bufferOut) != -1) out.write(bufferOut, 0, bytes); in.close(); / 结尾部分 byte foot = (rn- + BOUNDARY + -rn).getBytes(utf-8);/ 定义最后数据分隔线 out.write(foot); out.flush(); out.close(); StringBuffer buffer = new StringBuffer(); BufferedReader reader = null; try / 定义BufferedReader输入流来读取URL的响应 reader = new BufferedReader(new InputStreamReader(con.getInputStream(); String line = null; while (line = reader.readLine() != null) buffer.append(line); if (result = null) result = buffer.toString(); catch (IOException e) System.out.println(发送POST请求出现异常! + e); e.printStackTrace(); throw new IOException(数据读取异常); finally if (reader != null) reader.close(); return result; /* * 上传其他永久素材(图片素材的上限为5000,其他类型为1000) * * param appid * param secret * param file * param type * param access_token * return * throws Exception * * author CaoFeng * version 1.0.0 * since JDK 1.6 */public static JSONObject addMaterialEver(File file,String type,String access_token) throws Exception try System.out.println(开始上传+type+永久素材-);/上传素材String path=/cgi-bin/material/add_material?access_token=+access_token+&type=+type;String result=WeixinMaterial.connectHttpsByPost(path,file);result=result.replaceAll(, );System.out.println(result:+result);JSONObject resultJSON=JSONObject.fromObject(result);if(resultJSON!=null)if(resultJSON.get(media_id)!=null)System.out.println(上传+type+永久素材成功);return resultJSON;elseSystem.out.println(上传+type+永久素材失败);return null; catch (Exception e) System.out.println(程序异常:+e);throw e;finallySystem.out.println(结束上传+type+永久素材-);/* * 上传图片到微信服务器(本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下) * * param appid * param secret * param file * param access_token * return * throws Exception * * author CaoFeng * version 1.0.0 * since JDK 1.6 */public static JSONObject addMaterialEver(File file,String access_token) throws Exception try System.out.println(开始上传图文消息内的图片-);/上传图片素材String path=/cgi-bin/media/uploadimg?access_token=+access_token;String result=WeixinMaterial.connectHttpsByPost(path, file);result=result.replaceAll(, );System.out.println(result:+result);JSONObject resultJSON=JSONObject.fromObject(result);if(resultJSON!=null)if(resultJSON.get(url)!=null)System.out.println(上传图文消息内的图片成功);return resultJSON;elseSystem.out.println(上传图文消息内的图片失败);return null; catch (Exception e) System.out.println(程序异常:+e);throw e;finallySystem.out.println(结束上传图文消息内的图片-);/* * 上传临时素材 * * param appid * param secret * param file * param type * param access_token * return * throws Exception * * author CaoFeng * version 1.0.0 * since JDK 1.6 */public static JSONObject mediaUpload(File file,String type,String access_token) throws Exception try System.out.println(开始上传图文消息内的图片-);/上传图片素材String path=/cgi-bin/media/upload?access_token=+access_token+&type=+type;String result=WeixinMaterial.connectHttpsByPost(path,file);result=result.replaceAll(, );JSONObject resultJSON=JSONObject.fromObject(result);if(resultJSON!=null

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论