ciao!
in sostanza in angular devo creare un vcf, ma ho problemi con l'immagine.
prendendo un vcf di esempio:
codice:
BEGIN:VCARD
VERSION:3.0
.....
PHOTO;TYPE=JPEG;ENCODING=b:/9j/4AAQSkZJRgABAQEBLAEsAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/4gKwSUNDX1BST0ZJTEUAAQEAAAKgbGNtcwQwAABtbnRyUkdCIFhZWiAH5wAFABcADgAnACdhY3NwTVNGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kZXNjAAABIAAAAEBjcHJ0AAABYAAAADZ3dHB0AAABmAAAABRjaGFkAAABrAAAACxyWFlaAAAB2AAAABRiWFlaAAAB7AAAABRnWFlaAAACAAAAABRyVFJDAAACFAAAACBnVFJDAAACFAAAACBiVFJDAAACFAAAACBjaHJtAAACNAAAACRkbW5kAAACWAAAA........
.......
vi ho messo solo la parte problematica.
io ho l'immagine sulla pagina, e devo codificarla (penso sia base64).
le ho provate tutte, ma o ottengo errori, o ottengo solo una stringa non valida.
questo il codice con l'ultimo tentativo:
codice:
creaVcf(): void {
const imgProfile = (<HTMLImageElement>document.getElementById("img_profile"));
const blobImg = atob(imgProfile.src);
const makeVCardVersion = `VERSION:3.0`;
const makeVCardInfo = `N:${this.nome};${this.cognome}`;
const makeVCardName = `FN:${this.nomeCognome}`;
const makeVCardOrg = `ORG:${this.azienda}`;
const makeVCardTitle = `TITLE:${this.ruolo}`;
const makeVCardPhoto = `PHOTO;TYPE=JPEG;ENCODING=b:${blobImg}`;
const makeVCardTel = `TEL;TYPE=WORK,VOICE:${this.telefono}`;
const makeVCardAdr = `ADR;TYPE=WORK,PREF:;;${this.indirizzo}, ${this.cap} ${this.citta}`;
const makeVCardEmail = `EMAIL:${this.email}`;
const makeVCardTimeStamp = `REV:${new Date().toISOString()}`;
let vcard = `BEGIN:VCARD
${makeVCardVersion}
${makeVCardInfo}
${makeVCardName}
${makeVCardOrg}
${makeVCardTitle}
${makeVCardPhoto}
${makeVCardTel}
${makeVCardAdr}
${makeVCardEmail}
${makeVCardTimeStamp}
END:VCARD`;
const file = new Blob([vcard], {type: 'text/vcard'});
const a = document.createElement('a');
a.href = URL.createObjectURL(file);
a.download = this.nomeCognome + '.vcf';
a.click();
URL.revokeObjectURL(a.href);
}
qualche idea??