// Add a new FormControl to handle file uploads
chatForm = new FormGroup({
message: new FormControl('', [Validators.required]),
file: new FormControl(null),
});
// Add a new method to handle file uploads
onFileChange(event: any) {
if (event.target.files.length > 0) {
const file = event.target.files[0];
this.chatForm.patchValue({
file: file,
});
}
}
// Modify the sendMessage method to handle file uploads
sendMessage() {
const sentMessage = this.chatForm.value.message!;
const sentFile = this.chatForm.value.file;
this.loading = true;
this.messages.push({
type: 'user',
message: sentMessage,
});
this.chatForm.reset();
this.scrollToBottom();
// Handle file uploads
if (sentFile) {
// Add logic to handle file uploads here
// For example, you could send the file to your server and then send the URL to RASA
} else {
this.messageService.sendMessage(sentMessage).subscribe((response: any) => {
for (const obj of response) {
let value;
console.log(obj);
if (obj.hasOwnProperty('text')) {
value = obj['text'];
this.pushMessage(value);
}
if (obj.hasOwnProperty('image')) {
value = obj['image'];
this.pushMessage(value);
}
}
// MANIPULATION OF DATA TYPES OF RASA SUCH AS IMAGE, TEXT, BUTTONS, ETC
}, (error) => { console.log(error); });
}
}