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 ?

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.3k 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.
  • projectbavariaP Offline
    projectbavariaP Offline
    projectbavaria
    wrote on 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";
    }
    
    jsulmJ 1 Reply Last reply
    0
    • projectbavariaP projectbavaria

      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";
      }
      
      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on 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

      projectbavariaP 1 Reply Last reply
      1
      • jsulmJ jsulm

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

        projectbavariaP Offline
        projectbavariaP Offline
        projectbavaria
        wrote on 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

        jsulmJ 1 Reply Last reply
        0
        • projectbavariaP projectbavaria

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

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

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

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

          projectbavariaP 1 Reply Last reply
          1
          • jsulmJ jsulm

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

            projectbavariaP Offline
            projectbavariaP Offline
            projectbavaria
            wrote on 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();
            
            jsulmJ 1 Reply Last reply
            0
            • projectbavariaP projectbavaria

              @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();
              
              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on 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

              projectbavariaP 1 Reply Last reply
              0
              • jsulmJ jsulm

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

                projectbavariaP Offline
                projectbavariaP Offline
                projectbavaria
                wrote on 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?

                jsulmJ 1 Reply Last reply
                0
                • projectbavariaP projectbavaria

                  @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?

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on 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

                  • Login

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