uploadFile method

  1. @override
Future<FileUploadResponse> uploadFile(
  1. String filePath,
  2. String userId
)
override

Implementation

@override
Future<FileUploadResponse> uploadFile(String filePath, String userId) async {
  final String? mimeType = lookupMimeType(filePath);
  FormData formData;
  // check mimeType is null or not null
  if (mimeType != null){
    // if mimeType is not null, set mimeType to contentType in MultiPartFile.
    formData = FormData.fromMap({
      "file": await MultipartFile.fromFile(filePath, contentType: MediaType.parse(mimeType)),
      "user": userId,
    });
  } else {
    formData = FormData.fromMap({
      "file": await MultipartFile.fromFile(filePath),
      "user": userId,
    });
  }
  final response = await _dio.post("/files/upload", data: formData);
  return FileUploadResponse.fromJson(response.data);
}