GetStream / stream-chat-java

Stream Chat official Java API Client
https://getstream.io/chat/
Other
20 stars 11 forks source link

Alternative way to assign image attachments to a channel? #161

Open alexmacarthur opened 6 days ago

alexmacarthur commented 6 days ago

As far as I can tell, the only way to assign an attachment to a channel is using the “file” property, which is the CDN URL. Those URLs are signed, and so I’m concerned about them expiring after 14 days, and the images would no longer be viewable in the channel. Is this true? Or is there another way to upload attachments to avoid this issue?

image

This does not seem to be the same way you can upload attachments in the Node SDK. There, you can pass attachments directly, which would give me a little more confidence.

const promises = [
  channel.sendImage(
    fs.createReadStream('./cat.png'),
    'cat.jpg',
    'cat/jpg',
    {id: "some-user"}
  ),
 ];

 const results = await Promise.all(promises);
 const attachments = results.map(response => {
   return {
     type: 'image',
     thumb_url: response.file,
     asset_url: response.file,
   };
 });

 const response = await channel.sendMessage({
   text: 'I have uploaded things.',
   attachments,
   user
 });
shaljam commented 4 days ago

Hi @alexmacarthur , The attachment URLs will be refreshed if needed when being fetched. See here.