Chat / Android
Chat Android v4
Chat Android
Version 4

Generate thumbnails of a file message

When sending an image file, you can determine whether to create thumbnails of the image to fetch and render into your UI. You can specify up to three different sizes for thumbnail images.

Note: Supported file types are image/* and video/*. The Chat SDK doesn't support creating thumbnails when sending a file message via URL.

The sendFileMessage() method requires passing a FileMessageCreateParams object as an argument to a parameter. It contains an array of ThumbnailSize objects which specify the maximum values of width and height of each thumbnail image with the ThumbnailSize constructor. The completionHandler callback subsequently returns the array of ThumbnailSize objects that each contain the URL of the generated thumbnail image file.

A thumbnail image is generated to fit within the bounds of the provided maxWidth and maxHeight. If the size of the original image is smaller than the specified dimensions, the original image will have the width and height of the specified dimensions. The URL of the thumbnail returns the location of the generated thumbnail file within the Sendbird server.

// Create and add a thumbnailSizeList object. Up to three thumbnail images are allowed.
val thumbnailSizeList = listOf(
    ThumbnailSize(100, 200),
    ThumbnailSize(200, 200)
val params = FileMessageCreateParams().apply {
    file = FILE
    fileName = FILE_NAME
    fileSize = FILE_SIZE
    mimeType = MIME_TYPE
    thumbnailSizes = thumbnailSizeList

groupChannel.sendFileMessage(params) { message, e ->
    if (e != null) {
        // Handle error.
    if (message == null) return@sendFileMessage
    val first = message.thumbnails[0]
    val second = message.thumbnails[1]
    val maxHeightFirst = first.maxHeight // 100
    val maxHeightSecond = second.maxHeight // 200

    val urlFirst = first.url // The URL of first thumbnail file.
    val urlSecond = second.url // the URL of second thumbnail file.