uploadFile method

Future<GenericUploadResponse?> uploadFile(
  1. File file
)

Implementation

Future<GenericUploadResponse?> uploadFile(File file) async {
  Helper.progressDialog(Get.context!, "");
  String requestTime = DateTime.now().toString();
  try {
    final filename = file.path.split('/').last;
    dio_.FormData data = dio_.FormData.fromMap({
      "file": await dio_.MultipartFile.fromFile(
        file.path,
        filename: filename,
        contentType: MediaType.parse("${lookupMimeType(filename)}"),
      ),
    });

    final response = await dio.post(
      "${ApiConstant.baseUrl}${Api.docUpload}",
      data: data,
      options: dio_.Options(
        headers: {
          "Content-Type": "multipart/form-data",
          'Accept-Language': storage.read("selected_language") ?? "en",
          'x-request-txn-id': "",
          "Authorization": "Bearer ${SecureStorageService.readSecureData(
            SecureStorageService.accessToken,
          )}",
          'X-UserId': SecureStorageService.readSecureData(
            SecureStorageService.xUserId,
          ),
        },
      ),
    );

    Helper.logEvent(
      "RESPONSE_EVENT",
      success: true,
      endPoint: Api.docUpload,
      responseDate: DateTime.now().toString(),
      screenName: "customerManagement",
      requestDate: requestTime,
    );
    GenericUploadResponse _res = GenericUploadResponse.fromJson(
      response.data,
    );
    Helper.close();

    return _res;
  } catch (e) {
    Helper.close();
    if (e is DioException) {
      Helper.logEvent(
        "ERROR_EVENT",
        failure: true,
        endPoint: Api.docUpload,
        requestDate: requestTime,
        responseDate: DateTime.now().toString(),
        screenName: "customerManagement",
        error: e,
      );
    }
    return null;
  }
}