Skip to main content

Download media files

The Chat SDK supports downloading media files from media messages.

Media message types

Built-in media message types include NCFileMessage, NCImageMessage, NCGIFMessage, NCHDVoiceMessage, and NCShortVideoMessage.

Download from a media message

After downloading, the localPath property of the media content is updated automatically.

swift
import NexconnChatSDK

message.downloadMedia(
progressHandler: { progress in
// 0-100
},
successHandler: { mediaPath in
// Downloaded to mediaPath
},
errorHandler: { error in
// Failed
},
cancelHandler: {
// Cancelled
}
)

Pause download

swift
import NexconnChatSDK

message.pauseDownloadingMedia { error in
// Paused
}

Cancel download

swift
import NexconnChatSDK

message.cancelDownloadingMedia { error in
// Cancelled
}

Download by URL

swift
import NexconnChatSDK

let info = BaseChannel.getMediaDownloadInfo(mediaUrl: "https://example.com/path/to/media")
if let info {
print("Progress: \(info.progress)")
print("Local path: \(info.localPath ?? "")")
}

Use +[NCBaseChannel getMediaDownloadInfoWithMediaUrl:] to inspect an existing media download task by remote URL. To start, pause, or cancel a download, use the instance methods on NCMessage.