code: public UploadMaterialResponse uploadMaterialFile(File file, String title, String introduction){
          UploadMaterialResponse response;
          String url = "http://api.weixin.qq.com/cgi-bin/material/add_material?access_token=#";
          BaseResponse r;
          if(StrUtil.isBlank(title)) {
              r = executePost(url, null, file);
          }else{
              final Map<String, String> param = new HashMap<String, String>();
              param.put("title", title);
              param.put("introduction", introduction);
              r = executePost(url, JSONUtil.toJson(param), file);
          }
          String resultJson = isSuccess(r.getErrcode()) ? r.getErrmsg() : r.toJsonString();
          response = JSONUtil.toBean(resultJson, UploadMaterialResponse.class);
          return response;
      }
docs: 上传永久视频素材文件。
  @param file 素材文件
  @param title 素材标题
  @param introduction 素材描述信息
  @return 上传结果