This commit is contained in:
tiago.kayaya
2022-01-27 17:01:40 +01:00
3 changed files with 117 additions and 79 deletions
@@ -144,16 +144,16 @@ export class ViewPublicationsPage implements OnInit {
console.log('publications ids', res)
this.publicationList = new Array();
for(let i of res) {
/* for(let i of res) {
this.publications.GetPublicationById(i).subscribe(ress => {
console.log('publications by ids', ress)
let item: Publication = this.publicationPipe.itemList(ress)
console.log('publications by ids 2', item)
this.publicationList.push(item);
})
}
} */
/* res.forEach(element => {
res.forEach(element => {
console.log('publications elements', element)
this.publications.GetPublicationById(element).subscribe(ress => {
console.log('publications by ids', ress)
@@ -162,7 +162,7 @@ export class ViewPublicationsPage implements OnInit {
this.publicationList.push(ress);
})
}); */
});
this.sqliteservice.updateactions(this.folderId, JSON.stringify(this.publicationList));
+112 -74
View File
@@ -13,7 +13,7 @@ import { Camera, CameraResultType, CameraSource, Photo} from '@capacitor/camera
import { Filesystem, Directory } from '@capacitor/filesystem';
import { environment } from 'src/environments/environment';
import { HttpClient, HttpEventType, HttpHeaders, HttpParams } from '@angular/common/http';
import { Storage } from '@ionic/storage';
const IMAGE_DIR = 'stored-images';
@@ -53,6 +53,7 @@ export class FileService {
private platform: Platform,
private loadingCtrl: LoadingController,
private http: HttpClient,
private storage: Storage
) {
this.headers = new HttpHeaders();
}
@@ -253,43 +254,64 @@ export class FileService {
this.capturedImage = this.images[0].data
this.capturedImageTitle = new Date().getTime() + '.jpeg';
const base64 = await fetch(this.capturedImage);
const blob = await base64.blob();
const formData = new FormData();
formData.append("blobFile", this.capturedImage);
let guid: any = await this.uploadFile(this.capturedImage).toPromise()
formData.append("blobFile", blob);
console.log('ALL IMAGE', formData)
let guid: any = await this.uploadFile(formData).toPromise()
console.log(guid.path);
let body = {
"message":
{
"rid": roomid,
"msg": "",
"attachments": [{
"title": this.capturedImageTitle,
"title_link_download": false,
"image_url": this.capturedImage,
}],
"file":{
"type": "application/img",
"guid": guid.path,
"image_url": ""
this.downloadFile(guid.path).subscribe(async (event) => {
if (event.type === HttpEventType.DownloadProgress) {
//this.downloadProgess = Math.round((100 * event.loaded) / event.total);
//console.log('FILE TYPE 33', msg.file.type)
} else if (event.type === HttpEventType.Response) {
var fileImage = 'data:image/jpeg;base64,' + btoa(new Uint8Array(event.body).reduce((data, byte) => data + String.fromCharCode(byte), ''));
console.log('add picture to chat',fileImage);
await this.storage.set(guid.path, fileImage).then(() => {
console.log('add picture to chat IMAGE SAVED')
let body = {
"message":
{
"rid": roomid,
"msg": "",
"attachments": [{
"title": this.capturedImageTitle,
"title_link_download": false,
"image_url": fileImage,
}],
"file":{
"type": "application/img",
"guid": guid.path,
"image_url": fileImage
}
}
}
console.log('BODY TAKE PICTURE CHAT', body)
const loader = this.toastService.loading();
this.chatService.sendMessage(body).subscribe(res=> {
console.log(res);
loader.remove();
},(error) => {
loader.remove();
this.toastService.badRequest("Não foi possível adicionar a fotografia!");
});
});
}
}
}
console.log('BODY TAKE PICTURE CHAT', body)
const loader = this.toastService.loading();
this.chatService.sendMessage(body).subscribe(res=> {
console.log(res);
loader.remove();
},(error) => {
loader.remove();
this.toastService.badRequest("Não foi possível adicionar a fotografia!");
});
});
}
async addCameraPictureToChat(roomId){
console.log('add camera to picture')
const image = await Camera.getPhoto({
quality: 50,
allowEditing: false,
@@ -299,6 +321,8 @@ export class FileService {
if (image) {
await this.saveImage(image,roomId)
} else {
console.log('Error saving image')
}
//this.capturedImage = this.capturedImage;
@@ -354,70 +378,84 @@ export class FileService {
//loader.remove();
});
*/ }
addPictureToChat(roomId) {
addPictureToChat(roomId) {
console.log('add picture to chat')
console.log('add picture to chat')
const input = this.fileLoaderService.createInput({
accept: ['image/apng', 'image/jpeg', 'image/png']
})
const input = this.fileLoaderService.createInput({
accept: ['image/apng', 'image/jpeg', 'image/png']
})
setInterval(()=>{
console.log(input.value)
}, 550)
setInterval(() => {
console.log(input.value)
}, 550)
input.onchange = async () => {
input.onchange = async () => {
//alert('Onchange AQUI')
//alert('Onchange AQUI')
const file = this.fileLoaderService.getFirstFile(input)
const file = this.fileLoaderService.getFirstFile(input)
console.log(file);
console.log('first file',file);
const formData = new FormData();
formData.append("blobFile", file);
let guid: any = await this.uploadFile(formData).toPromise()
console.log('add picture to chat',guid.path);
const formData = new FormData();
formData.append("blobFile", file);
let guid: any = await this.uploadFile(formData).toPromise()
console.log('ADD IMAGE FORM DATA', formData)
console.log('add picture to chat', guid.path);
this.downloadFile(guid.path).subscribe(async (event) => {
/* const imageData = await this.fileToBase64Service.convert(file)
this.capturedImage = imageData; */
this.capturedImageTitle = file.name;
if (event.type === HttpEventType.DownloadProgress) {
//this.downloadProgess = Math.round((100 * event.loaded) / event.total);
//console.log('FILE TYPE 33', msg.file.type)
} else if (event.type === HttpEventType.Response) {
var fileImage = 'data:image/jpeg;base64,' + btoa(new Uint8Array(event.body).reduce((data, byte) => data + String.fromCharCode(byte), ''));
console.log('add picture to chat',fileImage);
await this.storage.set(guid.path, fileImage).then(() => {
console.log('add picture to chat IMAGE SAVED')
let body = {
"message":
{
"rid": roomId,
"msg": "",
"attachments": [{
//"title": this.capturedImageTitle ,
//"text": "description",
"title_link_download": false,
//"image_url": this.capturedImage,
}],
"file":{
"type": "application/img",
"guid": guid.path,
"image_url": ""
let body = {
"message":
{
"rid": roomId,
"msg": "",
"attachments": [{
//"title": this.capturedImageTitle ,
//"text": "description",
"title_link_download": false,
//"image_url": this.capturedImage,
}],
"file": {
"type": "application/img",
"guid": guid.path,
"image_url": fileImage
}
}
}
}
console.log('SELECT PICTURE GALLERY', body)
console.log(this.capturedImage)
this.chatService.sendMessage(body).subscribe(res => {
console.log('Msg after send image', res);
}, (error) => {
console.log('Msg after send image error', error);
});
});
}
console.log('SELECT PICTURE GALLERY', body)
console.log(this.capturedImage)
});
this.chatService.sendMessage(body).subscribe(res=> {
/* const imageData = await this.fileToBase64Service.convert(file)
this.capturedImage = imageData; */
console.log('Msg after send image',res);
},(error) => {
console.log('Msg after send image error',error);
});
//console.log(this.capturedImage)
};
}
//console.log(this.capturedImage)
};
}
addDocumentToChat(roomId:string) {
const input = this.fileLoaderService.createInput({
@@ -74,7 +74,7 @@
<div *ngIf="msg.attachments" class="message-attachments">
<div *ngFor="let file of msg.attachments">
<div *ngIf="msg.file.type == 'application/img'" (click)="downloadFileMsg(msg)" dfsdvsvs>
<img src={{msg.image_url}} alt="image">
<img src={{msg.file.image_url}} alt="image">
</div>
<div *ngIf="msg.file.type != 'application/img'">
<div class="file">