Skip to main content

Download media messages

Overview

The SDK provides download and cancel functionality for media files. For sending media messages, see the "Send a media message" section in Send a message.

Download a media message

Call mediaMessage.downloadMedia() on the media message instance.

Method

Dart
Future<int> downloadMedia({DownloadMediaMessageHandler? handler})

Code example

Dart
await (message as MediaMessage).downloadMedia(
handler: DownloadMediaMessageHandler(
onProgress: (message, progress) {
print('Download progress: $progress%');
},
onCanceled: (message) {
print('Download canceled');
},
onComplete: (code, message) {
if (code == 0) {
print('Downloaded to: ${message?.localPath}');
}
},
),
);

Cancel a media download

Call mediaMessage.cancelDownloadingMedia() on the media message instance.

Method

Dart
Future<int> cancelDownloadingMedia(OperationHandler<MediaMessage> handler)

Although this method uses OperationHandler<MediaMessage>, the current Flutter wrapper returns NCError(code: 0) on success instead of null. Check success with error?.isSuccess == true.

Code example

Dart
await (message as MediaMessage).cancelDownloadingMedia((canceledMessage, error) {
if (error?.isSuccess == true) {
print('Download canceled');
}
});