code: public static Media add_material(String access_token,MediaType mediaType,URI uri,Description description){
  		HttpPost httpPost = new HttpPost(BASE_URI+"/cgi-bin/material/add_material");
  		CloseableHttpClient tempHttpClient = HttpClients.createDefault();
  		try {
  			HttpEntity entity = tempHttpClient.execute(RequestBuilder.get().setUri(uri).build()).getEntity();
  			 MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create()
  					 .addBinaryBody("media",EntityUtils.toByteArray(entity),ContentType.get(entity),"temp."+mediaType.fileSuffix());
  			 if(description != null){
  				multipartEntityBuilder.addTextBody("description", JsonUtil.toJSONString(description),ContentType.create("text/plain",Charset.forName("utf-8")));
  			 }
  			 HttpEntity reqEntity = multipartEntityBuilder.addTextBody(PARAM_ACCESS_TOKEN, API.accessToken(access_token))
  			         .addTextBody("type",mediaType.uploadType())
  			         .build();
  			httpPost.setEntity(reqEntity);
  			return LocalHttpClient.executeJsonResult(httpPost,Media.class);
  		} catch (UnsupportedCharsetException e) {
  			logger.error("", e);
  		} catch (ClientProtocolException e) {
  			logger.error("", e);
  		} catch (ParseException e) {
  			logger.error("", e);
  		} catch (IOException e) {
  			logger.error("", e);
  		} finally{
  			try {
  				tempHttpClient.close();
  			} catch (IOException e) {
  				logger.error("", e);
  			}
  		}
  		return null;
  	}
docs: 新增其他类型永久素材
  @param access_token access_token
  @param mediaType mediaType
  @param uri  	多媒体文件有格式和大小限制，如下：
  图片（image）: 2M，支持bmp/png/jpeg/jpg/gif格式
  语音（voice）：5M，播放长度不超过60s，支持AMR\MP3格式
  视频（video）：10MB，支持MP4格式
  缩略图（thumb）：64KB，支持JPG格式
  @param description 视频文件类型额外字段，其它类型不用添加
  @return Media