Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. PDF in der Datenbank in QtCreator 5.14. speichern bzw. anzeigen lassen ?
Forum Updated to NodeBB v4.3 + New Features

PDF in der Datenbank in QtCreator 5.14. speichern bzw. anzeigen lassen ?

Scheduled Pinned Locked Moved Solved German
mysqlpdftoqtcreatorqt 5.14.2showpdfexportpdftoqt
8 Posts 2 Posters 1.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    projectbavaria
    wrote on 4 May 2020, 08:32 last edited by
    #1

    Die Speicherung der PDF/Text/Word Datei funktioniert, wird unten im Code angezeigt. Die Speichergröße in der Datenbank abgespeichert. Wie kann ich diese wieder in QT anzeigen lassen bzw. abspeichern, sodass ich sicherstellen kann.. das diese Datei nicht verloren gegangen ist. Ich brauche die Datei sowieso für die Weiterverwendung in QT.

    void Datenbank::saveFile(QString fileName_)
    {
        QSqlQuery query;
        QFile file(fileName_);
        if(!file.open(QIODevice::ReadOnly)) return;
        QByteArray inByteArray = file.readAll();
        query.prepare("INSERT INTO db.uploadtest (dbfilename, dbfiledata) VALUES (:fileName_, :fileData)" );
        query.bindValue( ":fileName_", fileName_ );
        query.bindValue( ":fileData", inByteArray);
        if( !query.exec() )
            qDebug() << "Fehler beim Einfuegen der Datei in die Datenbank:\n" << query.lastError();
        else
            qDebug() << "Datei erfolgreich hochgeladen\n";
    }
    
    J 1 Reply Last reply 4 May 2020, 08:37
    0
    • P projectbavaria
      4 May 2020, 08:32

      Die Speicherung der PDF/Text/Word Datei funktioniert, wird unten im Code angezeigt. Die Speichergröße in der Datenbank abgespeichert. Wie kann ich diese wieder in QT anzeigen lassen bzw. abspeichern, sodass ich sicherstellen kann.. das diese Datei nicht verloren gegangen ist. Ich brauche die Datei sowieso für die Weiterverwendung in QT.

      void Datenbank::saveFile(QString fileName_)
      {
          QSqlQuery query;
          QFile file(fileName_);
          if(!file.open(QIODevice::ReadOnly)) return;
          QByteArray inByteArray = file.readAll();
          query.prepare("INSERT INTO db.uploadtest (dbfilename, dbfiledata) VALUES (:fileName_, :fileData)" );
          query.bindValue( ":fileName_", fileName_ );
          query.bindValue( ":fileData", inByteArray);
          if( !query.exec() )
              qDebug() << "Fehler beim Einfuegen der Datei in die Datenbank:\n" << query.lastError();
          else
              qDebug() << "Datei erfolgreich hochgeladen\n";
      }
      
      J Online
      J Online
      jsulm
      Lifetime Qt Champion
      wrote on 4 May 2020, 08:37 last edited by
      #2

      @projectbavaria Du kannst die Datei aus der DB lesen (SELECT) und als Datei im Dateisystem speichern.

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      P 1 Reply Last reply 4 May 2020, 09:29
      1
      • J jsulm
        4 May 2020, 08:37

        @projectbavaria Du kannst die Datei aus der DB lesen (SELECT) und als Datei im Dateisystem speichern.

        P Offline
        P Offline
        projectbavaria
        wrote on 4 May 2020, 09:29 last edited by
        #3

        @jsulm haben wir versucht mit QFile aber es funktioniert nicht, Qt gibt meldung raus das es keine file gibt bzw. empty

        J 1 Reply Last reply 4 May 2020, 10:37
        0
        • P projectbavaria
          4 May 2020, 09:29

          @jsulm haben wir versucht mit QFile aber es funktioniert nicht, Qt gibt meldung raus das es keine file gibt bzw. empty

          J Online
          J Online
          jsulm
          Lifetime Qt Champion
          wrote on 4 May 2020, 10:37 last edited by
          #4

          @projectbavaria Ohne Code wird keiner helfen können...

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          P 1 Reply Last reply 4 May 2020, 16:30
          1
          • J jsulm
            4 May 2020, 10:37

            @projectbavaria Ohne Code wird keiner helfen können...

            P Offline
            P Offline
            projectbavaria
            wrote on 4 May 2020, 16:30 last edited by
            #5

            @jsulm

            //versuchen die datei(PDF) anzeigen zu lassen in QT und holt sich die datei über die datenbank
            QSqlQuery query;
                if( !query.exec( "SELECT dbfiledata FROM db.uploadtest WHERE dbfileid = '4'" ))
                    qDebug() << "Fehler beim Laden der Datei aus der Datenbank:\n" << query.lastError();
                qDebug() << query.first();
                QByteArray outByteArray = query.value( 0 ).toByteArray();
                QString DataAsString = QTextCodec::codecForMib(1015)->toUnicode(outByteArray);
                //file.append(outByteArray);
                qDebug() << "in File geladen\n";
                qDebug() << DataAsString;
            
                //Datei anzeigen
                QLabel label;
                label.setText(DataAsString);
                label.show();
            
            J 1 Reply Last reply 5 May 2020, 05:32
            0
            • P projectbavaria
              4 May 2020, 16:30

              @jsulm

              //versuchen die datei(PDF) anzeigen zu lassen in QT und holt sich die datei über die datenbank
              QSqlQuery query;
                  if( !query.exec( "SELECT dbfiledata FROM db.uploadtest WHERE dbfileid = '4'" ))
                      qDebug() << "Fehler beim Laden der Datei aus der Datenbank:\n" << query.lastError();
                  qDebug() << query.first();
                  QByteArray outByteArray = query.value( 0 ).toByteArray();
                  QString DataAsString = QTextCodec::codecForMib(1015)->toUnicode(outByteArray);
                  //file.append(outByteArray);
                  qDebug() << "in File geladen\n";
                  qDebug() << DataAsString;
              
                  //Datei anzeigen
                  QLabel label;
                  label.setText(DataAsString);
                  label.show();
              
              J Online
              J Online
              jsulm
              Lifetime Qt Champion
              wrote on 5 May 2020, 05:32 last edited by
              #6

              @projectbavaria In diesem Code wird nirgendwo irgendwas in irgendeine Datei geschrieben...

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              P 1 Reply Last reply 5 May 2020, 14:23
              0
              • J jsulm
                5 May 2020, 05:32

                @projectbavaria In diesem Code wird nirgendwo irgendwas in irgendeine Datei geschrieben...

                P Offline
                P Offline
                projectbavaria
                wrote on 5 May 2020, 14:23 last edited by
                #7

                @jsulm die datei wird doch im QString DataAsString reingeschrieben? oder lieg ich falsch? ich hab es auch mit einem QtDocument gemacht aber es lässt sich nicht anzeigen. In der Datenbank wird es abgespeichert und man sieht auch das es mit der richtigen Größe abgespeichert wird. Wie kann man es sonst konvertieren, wenn man nicht QString DataAsString benutzt?

                J 1 Reply Last reply 5 May 2020, 14:28
                0
                • P projectbavaria
                  5 May 2020, 14:23

                  @jsulm die datei wird doch im QString DataAsString reingeschrieben? oder lieg ich falsch? ich hab es auch mit einem QtDocument gemacht aber es lässt sich nicht anzeigen. In der Datenbank wird es abgespeichert und man sieht auch das es mit der richtigen Größe abgespeichert wird. Wie kann man es sonst konvertieren, wenn man nicht QString DataAsString benutzt?

                  J Online
                  J Online
                  jsulm
                  Lifetime Qt Champion
                  wrote on 5 May 2020, 14:28 last edited by
                  #8

                  @projectbavaria Ging es nicht darum die gelesenen Daten in eine Datei reinzuschreiben? Wenn nicht, dann sollte auch nicht von einer Datei die Rede sein, da es sonst nur verwirrt.
                  Also, was ist das: "haben wir versucht mit QFile aber es funktioniert nicht, Qt gibt meldung raus das es keine file gibt bzw. empty"?
                  Wo wird in dem Code irgendwas mit QFile gemacht?

                  Wie groß ist outByteArray und was ist drin?

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0

                  7/8

                  5 May 2020, 14:23

                  • Login

                  • Login or register to search.
                  7 out of 8
                  • First post
                    7/8
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved