Dateien binär auslesen



  • Hi@all,

    ich möchte eine Datei z.B. ein Word - Dokument binär auslesen um dieses Dokument hinterher in eine SQL Datenbanktabelle zu schreiben. Und zwar so als würde ich die Datei per Drag´n´Drop in ein Access Tabellenfeld mit dem Wert Image geben.
    Wie kann man das am besten bewerkstelligen.

    Gruß
    CrazyPlaya



  • Ne datei binär auslesen geht mit:

    FILE* pFile = NULL;
    pFile = fopen("Test.dig", "rb");
    // ...
    fclose(pFile);
    


  • MFC Variante:

    CFile datei;
    if(datei.Open("c:\datei.doc", CFile::modeRead | CFile::typeBinary | CFile::shareDenyWrite))
    {
       char* Dateiinhalt = new char[ Datei.GetLength() ];
       datei.Read( Dateiinhalt, Datei.GetLength() );
       //...
       delete[] Dateiinhalt;
    }
    

    Beachte das hier soviel Speicher resierviert wird, wie die Datei groß ist. Wenn die Dateien sehr groß sind (z.B. > 30 MB) dann solltest du sie nur häppchenweise auslesen.



  • Uuups wie peinlich, das kommt dabei raus wenn man ewig nicht mehr mit Dateien gearbeitet hat.
    😮



  • Jetzt bleibt nur noch die Frage wie ich da Dokument in meine Access Datenbank bringe, und zwar in ein Image - Feld, so dass sich das Dokument aus der Tabelle heraus öffnen lässt.



  • Ich kenn mich mit den Access-Tabellen nicht so aus... bei MySQL müsstest de einfach mal nach BLOB suchen 😉


Log in to reply