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();
  return withAimuxCError((err) {
    return withUtf8(dataBase64, (dataPtr) {
      return withUtf8(mediaType, (mediaPtr) {
        final optsPtr = optsJson != null ? optsJson.toNativeUtf8() : nullptr;
        try {
          final resultPtr =
              _ffi.fileUpload(_handle, dataPtr, mediaPtr, optsPtr, err);
          return takeString(resultPtr, err);
        } finally {
          if (optsPtr != nullptr) calloc.free(optsPtr);
        }
      });
    });
  });
}