uploadFileBytes static method

Future<bool> uploadFileBytes({
  1. required String signedUrl,
  2. required File pickedFile,
  3. String? successMessage,
  4. String? errorMessage,
})

Implementation

static Future<bool> uploadFileBytes({
  required String signedUrl,
  required File pickedFile,
  String? successMessage,
  String? errorMessage,
}) async {
  try {
    // Get the file bytes directly
    final fileBytes = await pickedFile.readAsBytes();

    final String? fileExtension = FileXUtils.getExtension(pickedFile.path);
    final String contentType = FileXUtils.getContentType(fileExtension);

    final response = await _client.put(
      signedUrl,
      data: fileBytes,
      options: Options(headers: {
        'Content-Type': contentType,
      }, validateStatus: (status) => status != null && status.isSuccessful),
    );
    return (response.statusCode ?? 500).isSuccessful;
  } on DioException catch (e) {
    return false;
  }
}