uploadVideo static method

Future<void> uploadVideo({
  1. required File file,
  2. required String signedUrl,
  3. int? chunkSize,
  4. ProgressCallback? onProgress,
  5. ErrorCallback? onError,
})

Parameters:

  • file: The video file to upload
  • signedUrl: The signed URL to upload the video chunks
  • chunkSize: Optional chunk size in MB (default: 15 MB)
  • onProgress: Optional progress callback
  • onError: Optional error callback

Usage example:

FlutterResumableUploads.uploadVideo(
  file: myVideoFile,
  signedUrl: 'https://example.com/upload',
  chunkSize: 10,
  onProgress: (progress) => print('Progress: $progress'),
  onError: (error) => print('Error: ${error.toString()}'),
);

Implementation

static Future<void> uploadVideo({
  required File file,
  required String signedUrl,
  int? chunkSize,
  ProgressCallback? onProgress,
  ErrorCallback? onError,
}) async {
  try {
    _progressModel
      ..status = 'Splitting Chunks'
      ..onError = onError
      ..onProgress = onProgress;

    _state.chunkSize = (chunkSize ?? 15) * 1024 * 1024;
    _state.signedUrl = signedUrl;

    await _splitFileIntoChunks(file);
  } catch (error) {
    _emitError(
        UploadError(GENERAL_ERROR_CODE, "Error Uploading Video: $error"));
  }
}