sendAttachment method
Future<void>
sendAttachment(
{ - required int conversationID,
})
Implementation
Future<void> sendAttachment({
required int conversationID,
}) async {
if (file == null) {
errorSnackBar(message: "Please Select File");
} else {
try {
atachmentLoading(true);
String url = "$baseUrl/conversations/$conversationID/messages";
var request = http.MultipartRequest('POST', Uri.parse(url));
request.headers.addAll({
"Authorization": "Bearer ${LocalStorage.getToken().toString()}",
});
request.fields['sender_id'] = LocalStorage.getUserID().toString();
request.fields['message'] = '';
if (file != null) {
request.files.add(await http.MultipartFile.fromPath(
'file',
file!.path,
));
}
print('Request URL: $url');
print('Request Headers: ${request.headers}');
print('Request Fields: ${request.fields}');
if (file != null) {
print('File: ${file!.path}');
}
var response = await request.send();
print('Response Status Code: ${response.statusCode}');
var responseData = await http.Response.fromStream(response);
print('Response Body: ${responseData.body}');
if (response.statusCode == 200) {
log("RESPONSE DATA :: ${responseData.body}");
var decodeResponse = json.decode(responseData.body);
SendPushNotification.sendNotification(
deviceTokens: decodeResponse['token'],
title: decodeResponse['data']['sender_name'],
message: messageController.text,
image: decodeResponse['data']['file'],
);
messageController.clear();
getChat(conversationID: conversationID);
chatList.refresh();
successSnackBar(message: "Send Successfully");
messageController.clear();
} else {
log("Failed to load conversations, status code: ${response.statusCode}");
}
} catch (e) {
log("EXCEPTION OF CONVERSATION $e");
} finally {
atachmentLoading(false);
}
}
}