uploadImage method

Future<Result<dynamic, String>> uploadImage(
  1. File pimageFile,
  2. String purl,
  3. String pdata,
  4. String pauthorization,
)

Implementation

Future<Result<dynamic, String>> uploadImage(
    File pimageFile, String purl, String pdata, String pauthorization) async {
  Repository repository = Repository();
  dynamic pheader;

  try {
    pheader = {'Authorization': pauthorization};

    String fileName = pimageFile.path.split('/').last;

    FormData formData = FormData.fromMap({
      'image': await MultipartFile.fromFile(
        pimageFile.path,
        filename: fileName,
      ),
      "ptoken": _getToken(),
      'data': pdata
    });

    Response? response =
        await repository.callDioImage(purl, formData, pheader);

    if (response != null && response.statusCode == 200) {
      return Success(response.data);
    } else {
      return Failure(response?.statusMessage ?? "Erro na API.");
    }
  } catch (ex) {
    return Failure(ex.toString().replaceAll("Exception:", "Erro interno: "));
  }
}