uploadFile method

String uploadFile(
  1. String dataBase64,
  2. String mediaType, [
  3. String? optsJson
])

Upload a file to the provider.

dataBase64 — base64-encoded file data. mediaType — media type of the file (e.g. "application/pdf"). optsJson — optional serialized UploadFileCallOptions. Returns the JSON-serialized UploadFileResult, or throws AimuxException.

Implementation

String uploadFile(String dataBase64, String mediaType, [String? optsJson]) {
  _checkOpen();
  checkJson(optsJson, 'opts_json', emptyIsDefault: true);
  return withUtf8(dataBase64, (dataPtr) {
    return withUtf8(mediaType, (mediaPtr) {
      final optsPtr = toCStringOrNull(optsJson);
      try {
        return takeString(
            (out) =>
                _ffi.fileUpload(_handle, dataPtr, mediaPtr, optsPtr, out),
            'file_upload');
      } finally {
        if (optsPtr != nullptr) calloc.free(optsPtr);
      }
    });
  });
}