• Java模拟from表单上传媒体到微信公众平台


         本文由广州疯狂软件java培训为你整理:

      public class UrlRequestUtil {

      String result = "";

      String end=" ";

      String twoHyphens = "--"; //用于拼接

      String boundary="*****"; //用于拼接 可自定义

      URL submit = null;

      JSONObject json=null;

      /**

      * 上传多媒体文件到微信公众平台

      * @param fileType 文件类型

      * @param access_token //在微信平台获取到的凭证

      * @param filename 文件名称

      * @param file 文件流

      * @param content_type 文件类型

      * @param filePath 文件路径

      * @return

      */

      public JSON uploadmedia(String fileType,String access_token,String filename, File file,String content_type, String filePath){String requestUrl="http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token="

      + access_token + "&type=" + fileType;

      try {

      submit = new URL(requestUrl);

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

      conn.setDoInput(true);

      conn.setDoOutput(true);

      conn.setUseCaches(false);

      conn.setRequestMethod("POST");

      conn.setRequestProperty("Connection", "Keep-Alive");

      conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);

      //获取输出流对象,准备上传文件

      DataOutputStream dos=new DataOutputStream(conn.getOutputStream());

      dos.writeBytes(twoHyphens+boundary+end);

      dos.writeBytes("Content-Disposition: form-data; name=""+file+"";filename=""

      +filename+";filelength=""+filePath+";Content-Type=""+content_type+end);

      dos.writeBytes(end);

      //对文件进行传输

      FileInputStream fis=new FileInputStream(file);

      byte[] buffer = new byte[8192]; // 8k

      int count = 0;

      while ((count = fis.read(buffer)) != -1)

      {

      dos.write(buffer, 0, count);

      }

      fis.close(); //关闭文件流

      dos.writeBytes(end);

      dos.writeBytes(twoHyphens + boundary + twoHyphens + end);

      dos.flush();

      InputStream is = conn.getInputStream();

      InputStreamReader isr = new InputStreamReader(is, "utf-8");

      BufferedReader br = new BufferedReader(isr);

      result = br.readLine();

      dos.close();

      is.close();

      } catch (Exception e) {

      e.printStackTrace();

      System.out.println("与服务器连接发生异常错误:" + e.toString());

      System.out.println("连接地址是:" + requestUrl);

      }

      json = JSONObject.parseObject(result); //获取到返回Json请自行根据返回码获取相应的结果

      return json;

      }

    学IT技术就学Java技术,疯狂软件Java培训机构,打造国内高级Java人才。

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!

      疯狂软件中心Java培训、iOS培训打造名企技术经理,成为中国软件产业的中流砥柱:全真企业需求,项目小组管理,大量实操项目的疯狂训练,企业全真案例教学,学成至少相当于两年工作经验“全真项目”教学,高强度的狂热训练,带领学生走近编程,感受编程,热爱编程,学完后产生凤凰涅槃般的重生。 “全真企业环境”模拟:以项目组形式管理,每个程序员(学员)对项目组长负责,组长向项目经理(老师)负责。以版本控制工具为引导,充分激发每个程序员对编程的激情 四个半月掌握近8~10万代码量,达到技术经理的代码掌握量。

  • 相关阅读:
    笛卡尔树学习笔记
    图论基础(自认为很全)
    我的博客在这里
    C++学习资料
    test
    个人介绍
    CF1153F Serval and Bonus Problem
    【ZJOI2020】抽卡
    【LOJ】小 Q 的序列
    我的个人博客:https://xyix.github.io
  • 原文地址:https://www.cnblogs.com/gojava/p/3580250.html
Copyright © 2020-2023  润新知