code: public ResponseInfo syncPut(File file, String key, String token, UploadOptions options) {
          final UpToken decodedToken = UpToken.parse(token);
          ResponseInfo info = areInvalidArg(key, null, file, token, decodedToken);
          if (info != null) {
              return info;
          }
          return FormUploader.syncUpload(client, config, file, key, decodedToken, options);
      }
docs: 同步上传文件。使用 form 表单方式上传，建议只在文件较小情况下使用此方式，如 file.size() < 1024 * 1024。
  
  @param file    上传的文件对象
  @param key     上传数据保存的文件名
  @param token   上传凭证
  @param options 上传数据的可选参数
  @return 响应信息 ResponseInfo#response 响应体，序列化后 json 格式