uploadMultiPartFileFromURL static method

Future<bool> uploadMultiPartFileFromURL({
  1. required Map<String, dynamic>? metaData,
  2. required String signedUrl,
  3. required String filePath,
  4. String? successMessage,
  5. String? errorMessage,
})

Uploads file to the server

*uploadUrl: url to upload the file in server (aws, firebase etc)

*filePath: actual file path of the selected file (pdf, images etc)

*contentType: content type of provided file

Returns either success or failure response based on server status code

Implementation

///Returns either success or failure response based on server status code

static Future<bool> uploadMultiPartFileFromURL({
  required Map<String, dynamic>? metaData,
  required String signedUrl,
  required String filePath,
  String? successMessage,
  String? errorMessage,
}) async {
  try {
    final FormData formData = FormData.fromMap(metaData ?? {});

    final MultipartFile file = await _createMultiPartFile(filePath);

    formData.files.add(MapEntry(FileTypeConstants.file, file));

    final response = await _client.post(signedUrl, data: formData);

    return (response.statusCode ?? 500).isSuccessful;
  } on DioException catch (e) {
    return false;
  }
}