Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Bilddaten in vCard speichern

  1. #1
    Registrierter Benutzer
    Registriert seit
    21.08.2004
    Beiträge
    14

    Bilddaten in vCard speichern

    Hallo,
    ich bin gerade dabei ein Skript zu schreiben um Personaldaten aus einer Datenbank in einer vCard zu sichern. Hier will ich auch das Bild sichern. Die Daten habe ich bereits binär in einer Variable.

    Leider habe ich keine Ahnung was das für ein Format ist und wie ich es erzeugen kann.

    Auszug aus einer vCard mit Bild:
    Code:
    PHOTO;ENCODING=b;TYPE=image/jpeg:/9j/4AAQSkZJRgABAQIAAAAAAAD/2wBDAAEBAQEBAQ
     EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
     QH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
     AQEBAQEBAQEBAQEBAQH/wAARCACMAHADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAE
     CAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0
     KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc
     3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW
     19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQo
     L/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYn
     LRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g
     oOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk
     5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/FRkgf56UrKFxjPOetS5HqPzFIXAxjB/GgT
     aSu3oRDkgepFP2LnGTz0HHbr256iq810YwSiCQqrsygy7wVDYHlxwTSOrMAoZEYnkorEKrfOHxR
     /a4+AHwiu5rTxx8RNFsNQsLW4urnTbBr/WtQQpBDNFCItHsb20gkuA4WMare6WpIJUuqzmELUZP
     ZPVdF0v/Xy8j6U4JIXnacYOQegJwDjI56gEZyAc5piujuUR1Z1BJUEbgMgZI6ryR1xX4hfFL/gs
     78P9EN7a+APh9ca3EZisOv674ms7CylRJRGJn0nSrS/uW8yJFCouqxSRMQsyh0eMeN+Ff+C+HhO
     K9g07x58IbezjnuLeFb/RvF2roIlluYo5na31XwfM0xtreSW4aL7eJZfIKRhQflDT6vWtzcjtZP
     ps+W35/nfY/onCZHOQfbH/ANf/AD2qOvkP4Bft0/s1/tFG3sfh/wDEPTpfEMtpb3k/hnVLfUtI1
     e0M8bsIWOpWFpYXLfupPLFne3EsiBXeGISRhvsASBiduCowC+cDJVXAGRhgVdSGUlfvAkMuCGUk
     02mrPquxHX4z/wDBWP8AbS8BfAD4dap8LrH4n/Er4efHDxYfDniLwlc/D+GH91pclxrmk3Z8SXf
     nW11Bol7p+javbxWOnSDV5dcHhjVrRzYxal5X7D6vrOn6NEk+oXlpZwN8plup2iQbpre3TlY5Tt
     M9zAkkhCpEr75GCg1/HJ/wWD+KE3xj+OniD4h+EPC1rYfDb4P3y/BTWvi5HoHjSbwl4l+KOj+IN
     RmufBeq6p4rt9C8BeJ7/S9BttY1jSG0XSdUiW0aRNG1zxVcSx6czjFz5kknZa3aW7v1fTTW/pbY
     R+QX7QHw01TxN8O9Y+MOqeK/Efi/xXD/AMJn4i1vR/Demjxh4ksPBsPh/wAO+LtS+Jvj7V/CDXM
     ejz6dfeJ9RuPH+mavfapb/DbxIND8NajqegS3djHrHw342+FHh7RPD+l6/wCHYfDlpoGvz6j4w0
     Sx1jxn4d1zxfomhweJ9d8NaHoXimx8OvJ4q0i2bTZNWvrSw8UWOnajrHhO88O+IdOuLyw1mynuv
     pHxPe+EH8J+JNS02Sa01HXk07SLvTD/AMJn4e1PWdJMgmn129k1fxfq/iHStTikN3dLpltL450O
     8h1tvP1XT9ctdYEnxv4su4tL1HUNVjuLp/DOparqV74ltmeCazj1S+ka9MUiZkkKW89zAqpYpBa
     MyB4bOwjJsrfx8zzOmqawlGFnycre+6jo3fzT111toBy3iN9BEV1ZnV79L2Typ74f6PbW5iECxe
     TZwkSTFVWQArMFZmXcpKgGvEdR8ReGtN1T7PYx6wnlPJD9tuLOKK0kaMAo63JcNKGZmBZIyigqz
     FQ2R1Osa7NNHf3F1GLRGULBIpt7xiCAgfy0RZdpyc7mAHGOQDXzprniuKZ57K4MRMdxNHaeXG0a
     ghwkkTApl5JFRGErMqjeI1BaNifMy/D1Y01Jx3d3qtNVfr93cD/bBMYIOCQfr/8AWrG1zV9P8Oa
     Vfazq91Faadp1tJeXlzNLHGsUMIBOHmaKMNIzLGu91DMwQEMwrVJJB5xnGTgdq/Pr/gpv41vPBn ...
    Es wäre schön, wenn jemand einen Tipp hat wie ich das hinbekommen kann.

    Danke,
    sallo

  2. #2
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    Zitat Zitat von http://hypercontent.sourceforge.net/docs/manual/develop/vcard.html
    vcard:PHOTO

    A photo resource may either have a vcard:uri property whose value is the network location of the graphic, or a vcard:binary property whose value is the base64 encoded image data. Note that the actual base64 data is not passed through to XSL transformations for the sake of efficiency, but testing for the presence of 'rdf:RDF/fs:File/vcard:VCARD/vcard:PHOTO/vcard:binary' will properly reflect whether there is binary image data in the source file. Also note that the common vcard property vcard:type has the corresponding mime image subtype as a value (HyperContent uses jpeg by default).
    Also ists einfach wie ich eh schon vermutet habe ein JPEG base64-encodiert. Auf php.net hab ich dies gefunden:
    PHP-Code:
    <?php
    function base64_to_jpeg$inputfile$outputfile ) {
      
    /* read data (binary) */
      
    $ifp fopen$inputfile"rb" );
      
    $imageData fread$ifpfilesize$inputfile ) );
      
    fclose$ifp );
      
    /* encode & write data (binary) */
      
    $ifp fopen$outputfile"wb" );
      
    fwrite$ifpbase64_decode$imageData ) );
      
    fclose$ifp );
      
    /* return output filename */
      
    return( $outputfile );
    }
    ?>
    Das musst du halt noch so umbauen, dass als Input direkt der base_64-encodierte String und nicht ein Dateiname genommen wird.

    MfG jeebee
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.08.2004
    Beiträge
    14

    Hat funktioniert ...

    Danke, der Tipp war der richtige. Mit base64_encode() muss ich die Daten kodieren, damit sie richtig in der Datei stehen :-)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •