uploadFile method
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);
}