docs: public CreateMediaResourceResponse createMediaResource(
              String title,
              String description,
              File file,
              String transcodingPresetGroupName,
              int priority,
              String mode)
              throws FileNotFoundException {
          if (!file.exists()) {
              throw new FileNotFoundException("The media file " + file.getAbsolutePath() + " doesn't exist!");
          }
          // try get file extension
          String sourceExtension = null;
          String filename = file.getName();
          sourceExtension = getFileExtension(filename);
          // get a BOS bucket and extract mediaId from it
          GenerateMediaIdResponse generateMediaIdresponse;
          if (mode == null) {
              generateMediaIdresponse = applyMedia();
          } else {
              generateMediaIdresponse = applyMedia(mode);
          }
          String bosKey = generateMediaIdresponse.getSourceKey();
          String mediaId = generateMediaIdresponse.getMediaId();
          String bucket = generateMediaIdresponse.getSourceBucket();
  
          logger.info("[bucket] = " + bucket
                  + ", [bosKey] = " + bosKey
                  + ", [mediaId] = " + mediaId);
          // upload the file
          FileUploadSession session = new FileUploadSession(bosClient);
          CreateMediaResourceResponse response = new CreateMediaResourceResponse();
  
          if (session.upload(file, bucket, bosKey)) {
              InternalCreateMediaRequest request =
                      new InternalCreateMediaRequest()
                              .withMediaId(mediaId)
                              .withTitle(title)
                              .withDescription(description)
                              .withSourceExtension(sourceExtension)
                              .withTranscodingPresetGroupName(transcodingPresetGroupName)
                              .withPriority(priority);
              InternalCreateMediaResponse internalResponse = processMedia(request);
              response.setMediaId(internalResponse.getMediaId());
          }
  
          // create media resource with mediaId, title, description
          return response;
      }