uploadAttachmentFromImage method
Implementation
Future<void> uploadAttachmentFromImage(List<Uint8ListWithName> images) async {
sendingAttachments.value = sendingAttachments.value + images.length;
update();
try {
bool conversationExists = await checkConversationExists(images.length);
if (!conversationExists) return;
Directory tempDir = await getTemporaryDirectory();
for (Uint8ListWithName image in images) {
ByteBuffer buffer = image.image.buffer;
ByteData byteData = ByteData.view(buffer);
File file = await File('${tempDir.path}/${image.name}').writeAsBytes(
buffer.asUint8List(byteData.offsetInBytes, byteData.lengthInBytes),
);
Attachment? newAttachment = await AttachmentService.postAttachment(
file,
);
if (newAttachment != null) attachments.add(newAttachment);
sendingAttachments.value--;
update();
}
if (images.length > 1) {
showFeedbackSnackbar(
Strings.attachmentUploadSuccessMultiple.tr,
Symbols.attachment,
);
} else {
showFeedbackSnackbar(
Strings.attachmentUploadSuccess.tr,
Symbols.attachment,
);
}
} catch (e) {
sendingAttachments.value = sendingAttachments.value - images.length;
update();
}
}