sliceUploadFile method

dynamic sliceUploadFile({
  1. required String bucketName,
  2. required String region,
  3. required String file,
  4. required String uploadKey,
  5. required String fileName,
  6. required String specifiedContentType,
  7. required dynamic successCallBack(
    1. dynamic result
    ),
  8. required dynamic failCallBack(
    1. dynamic error
    ),
  9. required dynamic taskReadyCallback(
    1. dynamic taskId
    ),
  10. dynamic progressCallBack(
    1. int,
    2. int
    )?,
})

Implementation

sliceUploadFile({
  required String bucketName,
  required String region,
  required String file,
  required String uploadKey,
  required String fileName,
  required String specifiedContentType,
  required Function(dynamic result) successCallBack,
  required Function(dynamic error) failCallBack,
  required Function(dynamic taskId) taskReadyCallback,
  Function(int, int)? progressCallBack,
}) async {
  _eventHandlerMap["onUploadSuccess"] = [
    (data) {
      successCallBack(data[0]);
    },
  ];
  _eventHandlerMap["onUploadError"] = [
    (data) {
      failCallBack(data[0]);
    },
  ];
  _eventHandlerMap["onUploadProgress"] = [
    (data) {
      final progressData = data[0] as Map;
      final total = progressData["total"];
      final completed = progressData["loaded"];
      progressCallBack?.call(completed, total);
    },
  ];
  _eventHandlerMap["onTaskReady"] = [
    (data) {
      taskReadyCallback(data[0]);
    },
  ];
  await _callFunc(
    jsonEncode({
      "key": "sliceUploadFile",
      "params": [
        {
          "bucketName": bucketName,
          "region": region,
          "file": file,
          "uploadKey": uploadKey,
          "fileName": fileName,
          "specifiedContentType": specifiedContentType,
        },
      ],
    }),
  );
}