AttachmentService
The AttachmentService
manages the uploads of a message input.
You can read more about uploads in the Stream API documentation. You can use Stream’s API or the dashboard to customize the file and image upload configuration.
Type parameters
Name | Type |
---|---|
T | extends DefaultStreamChatGenerics = DefaultStreamChatGenerics |
Properties
attachmentUploadInProgressCounter$
attachmentUploadInProgressCounter$: BehaviorSubject
<number
>
Emits the number of uploads in progress.
You can increment and decrement this counter if you’re using custom attachments and want to disable message sending until all attachments are uploaded.
The SDK will handle updating this counter for built-in attachments, but for custom attachments you should take care of this.
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:41
attachmentUploads$
attachmentUploads$: Observable
<AttachmentUpload
<DefaultStreamChatGenerics
>[]>
Emits the state of the uploads (AttachmentUpload[]
), it adds a state (success
, error
or uploading
) to each file the user selects for upload. It is used by the AttachmentPreviewList
to display the attachment previews.
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:45
attachmentsCounter$
attachmentsCounter$: Observable
<number
>
The current number of attachments
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:55
customAttachments$
customAttachments$: BehaviorSubject
<Attachment
<T
>[]>
You can get and set the list if uploaded custom attachments
By default the SDK components won’t display these, but you can provide your own customAttachmentPreviewListTemplate$
and customAttachmentListTemplate$
for the CustomTemplatesService
.
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:51
maxNumberOfAttachments
maxNumberOfAttachments: number
= 30
The maximum number of attachments allowed for a message.
The maximum is 30, you can set it to lower, but not higher.
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:61
Methods
addAttachment
addAttachment(attachment
): void
You can add custom image
, video
and file
attachments using this method.
Note: If you just want to use your own CDN for file uploads, you don’t necessary need this method, you can just specify you own upload function in the ChannelService
Parameters
Name | Type |
---|---|
attachment | Attachment <T > |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:216
createFromAttachments
createFromAttachments(attachments
): void
Maps attachments received from the Stream API to uploads. This is useful when editing a message.
Parameters
Name | Type | Description |
---|---|---|
attachments | Attachment <T >[] | Attachemnts received with the message |
Returns
void
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:306
deleteAttachment
deleteAttachment(upload
): Promise
<void
>
Deletes an attachment, the attachment can have any state (error
, uploading
or success
).
Parameters
Name | Type |
---|---|
upload | AttachmentUpload <DefaultStreamChatGenerics > |
Returns
Promise
<void
>
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:241
filesSelected
filesSelected(fileList
): Promise
<undefined
| boolean
>
Uploads the selected files, and creates preview for image files. The result is propagated throught the attachmentUploads$
stream.
Parameters
Name | Type | Description |
---|---|---|
fileList | null | File [] | FileList | The files selected by the user, if you have Blobs instead of Files, you can convert them with this method: https://developer.mozilla.org/en-US/docs/Web/API/File/File |
Returns
Promise
<undefined
| boolean
>
A promise with true or false. If false is returned the upload was canceled because of a client side error. The error is emitted via the NotificationService
.
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:154
mapToAttachments
mapToAttachments(): Attachment
<DefaultGenerics
>[]
Maps the current uploads to a format that can be sent along with the message to the Stream API.
Returns
Attachment
<DefaultGenerics
>[]
the attachments
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:271
resetAttachmentUploads
resetAttachmentUploads(): void
Resets the attachments uploads (for example after the message with the attachments sent successfully)
Returns
void
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:107
retryAttachmentUpload
retryAttachmentUpload(file
): Promise
<void
>
Retries to upload an attachment.
Parameters
Name | Type |
---|---|
file | File |
Returns
Promise
<void
>
A promise with the result
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:226
uploadVoiceRecording
uploadVoiceRecording(audioRecording
): Promise
<boolean
>
Upload a voice recording
Parameters
Name | Type |
---|---|
audioRecording | AudioRecording |
Returns
Promise
<boolean
>
A promise with true or false. If false is returned the upload was canceled because of a client side error. The error is emitted via the NotificationService
.
Defined in
projects/stream-chat-angular/src/lib/attachment.service.ts:118