ciao!
in sostanza in angular devo creare un vcf, ma ho problemi con l'immagine.
prendendo un vcf di esempio:
vi ho messo solo la parte problematica.codice:BEGIN:VCARD VERSION:3.0 ..... PHOTO;TYPE=JPEG;ENCODING=b:/9j/4AAQSkZJRgABAQEBLAEsAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/4gKwSUNDX1BST0ZJTEUAAQEAAAKgbGNtcwQwAABtbnRyUkdCIFhZWiAH5wAFABcADgAnACdhY3NwTVNGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kZXNjAAABIAAAAEBjcHJ0AAABYAAAADZ3dHB0AAABmAAAABRjaGFkAAABrAAAACxyWFlaAAAB2AAAABRiWFlaAAAB7AAAABRnWFlaAAACAAAAABRyVFJDAAACFAAAACBnVFJDAAACFAAAACBiVFJDAAACFAAAACBjaHJtAAACNAAAACRkbW5kAAACWAAAA........ .......
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:
qualche idea??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); }

Rispondi quotando