docs: public static MaterialAddResult materialAdd(String accessToken,
                                                  MediaType type, InputStream inputStream) {
          HttpPost httpPost = new HttpPost(BASE_URI + "/shakearound/material/add");
          byte[] data;
          try {
              data = StreamUtils.copyToByteArray(inputStream);
          } catch (IOException e) {
              logger.error("", e);
              throw new RuntimeException(e);
          }
  
          MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder
                  .create().addBinaryBody("media", data, ContentType.DEFAULT_BINARY, "temp." + type.fileSuffix());
          HttpEntity reqEntity = multipartEntityBuilder
                  .addTextBody(PARAM_ACCESS_TOKEN, API.accessToken(accessToken))
                  .addTextBody("type", type.uploadType()).build();
          httpPost.setEntity(reqEntity);
  
          return LocalHttpClient.executeJsonResult(httpPost,
                  MaterialAddResult.class);
      }