[Problem/Question]
sdk로 FileMessage를 전송할 때 썸네일 크기를 지정할 수가 없습니다.
fileUrl을 사용하면 메시지가 보내지기는 하지만 썸네일 크기를 지정할 수 없고,
file을 사용하여 file type, blob type을 전달하면 메시지 전송 자체가 되지 않습니다.
어떻게 하면 file을 전송할 수 있는지 궁금합니다.
사용한 코드는 다음과 같습니다
// Send Messages(book thumbnail, reason)
const res = await getBookInfo(contents.receiveMemberBookId);
const bookThumbnail = res.imageUrl;
const uniqueThumbnailUrl = `${bookThumbnail}?timestamp=${new Date().getTime()}`;
const fetchImageAsBlob = async (imageUrl: string): Promise<Blob> => {
const response = await fetch(imageUrl);
const blob = await response.blob();
return blob;
};
const fileBlob = await fetchImageAsBlob(uniqueThumbnailUrl);
const fileMessageCreateParams: FileMessageCreateParams = {
file: fileBlob,
fileName: 'book-thumbnail.png',
fileSize: 0,
mimeType: 'image/png',
// TODO - 한결: 썸네일 사이즈 조정이 안됨 - 사진 전송 잠정 중단
thumbnailSizes: [{ maxWidth: 105, maxHeight: 147 }],
mentionType: MentionType.USERS,
pushNotificationDeliveryOption: PushNotificationDeliveryOption.DEFAULT,
};
// @ts-ignore
channel.sendFileMessage(fileMessageCreateParams).onSucceeded((message: FileMessage) => {
const messageId = message.messageId;
console.debug('Message sent with ID:', messageId);
})
.onFailed((error: any) => {
console.error('Failed to send message:', error);
});