Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Select folder and upload all files from folder to server
Forum Updated to NodeBB v4.3 + New Features

Select folder and upload all files from folder to server

Scheduled Pinned Locked Moved Solved General and Desktop
28 Posts 5 Posters 9.2k Views 3 Watching
  • 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.
  • mrjjM mrjj

    Hi

    To get all files in the folder you can do ( and sub folders...)

    QDirIterator it(dir, QStringList() << "*.*", QDir::Files, QDirIterator::Subdirectories);
    while (it.hasNext())
        qDebug() << it.next();  // this just lists them. you should move upload code to function and call it pr file.
    
    
    D Offline
    D Offline
    developerNancy
    wrote on last edited by
    #4

    @mrjj mainwindow.cpp:131: error: no matching function for call to 'QDirIterator::QDirIterator(QDir&, QStringList&, QDir::Filter, QDirIterator::IteratorFlag)'
    QDirIterator it(dir, QStringList() << ".", QDir::Files, QDirIterator::Subdirectories);

    issue after including QDir
    ^

    K 1 Reply Last reply
    0
    • D developerNancy

      @mrjj mainwindow.cpp:131: error: no matching function for call to 'QDirIterator::QDirIterator(QDir&, QStringList&, QDir::Filter, QDirIterator::IteratorFlag)'
      QDirIterator it(dir, QStringList() << ".", QDir::Files, QDirIterator::Subdirectories);

      issue after including QDir
      ^

      K Offline
      K Offline
      koahnig
      wrote on last edited by
      #5

      @developerNancy

      Did you include QDirIterator header?

      Vote the answer(s) that helped you to solve your issue(s)

      D 1 Reply Last reply
      0
      • K koahnig

        @developerNancy

        Did you include QDirIterator header?

        D Offline
        D Offline
        developerNancy
        wrote on last edited by developerNancy
        #6

        @koahnig Yes

        K 1 Reply Last reply
        0
        • D developerNancy

          @koahnig Yes

          K Offline
          K Offline
          koahnig
          wrote on last edited by
          #7

          @developerNancy

          You need to post a larger section of the code where the problem is.
          Also a larger stretch of the error messages are helpful.

          What is the OS and compiler you are using?

          Vote the answer(s) that helped you to solve your issue(s)

          D 1 Reply Last reply
          0
          • K koahnig

            @developerNancy

            You need to post a larger section of the code where the problem is.
            Also a larger stretch of the error messages are helpful.

            What is the OS and compiler you are using?

            D Offline
            D Offline
            developerNancy
            wrote on last edited by
            #8

            @koahnig I am using ubuntu I have already posted the code to upload file on server and for select the single file my code is void

              void MainWindow::selectFileDownload()
             {
            
                 QString downloadlocation = QFileDialog::getOpenFileName();
                QDir dir = QFileInfo(downloadlocation).absoluteDir();
                qDebug() << dir;
                qDebug() << downloadlocation;
                 this->downloadLine->setText(downloadlocation);
            

            }

            jsulmJ 1 Reply Last reply
            0
            • D developerNancy

              @koahnig I am using ubuntu I have already posted the code to upload file on server and for select the single file my code is void

                void MainWindow::selectFileDownload()
               {
              
                   QString downloadlocation = QFileDialog::getOpenFileName();
                  QDir dir = QFileInfo(downloadlocation).absoluteDir();
                  qDebug() << dir;
                  qDebug() << downloadlocation;
                   this->downloadLine->setText(downloadlocation);
              

              }

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

              @developerNancy There is no such constructor. Please check the documentation: http://doc.qt.io/qt-5.8/qdiriterator.html

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

              D 1 Reply Last reply
              1
              • jsulmJ jsulm

                @developerNancy There is no such constructor. Please check the documentation: http://doc.qt.io/qt-5.8/qdiriterator.html

                D Offline
                D Offline
                developerNancy
                wrote on last edited by
                #10

                @jsulm I have not Implemented directory yet it is a selected file method.

                D 1 Reply Last reply
                0
                • D developerNancy

                  @jsulm I have not Implemented directory yet it is a selected file method.

                  D Offline
                  D Offline
                  developerNancy
                  wrote on last edited by
                  #11

                  @developerNancy
                  Using this code
                  QDirIterator UploadFolderFiles(UploadFolder, QDirIterator::Subdirectories );
                  while (UploadFolderFiles.hasNext()) {
                  qDebug() << UploadFolderFiles.next();
                  }

                  My output is this:
                  /Desktop/testingQT"
                  /Desktop/testingQT/Linuxapp"
                  /Desktop/testingQT/.."
                  /Desktop/testingQT/."
                  /Desktop/testingQT/dfgdggd"

                  But I want only files.

                  mrjjM 1 Reply Last reply
                  0
                  • D developerNancy

                    @developerNancy
                    Using this code
                    QDirIterator UploadFolderFiles(UploadFolder, QDirIterator::Subdirectories );
                    while (UploadFolderFiles.hasNext()) {
                    qDebug() << UploadFolderFiles.next();
                    }

                    My output is this:
                    /Desktop/testingQT"
                    /Desktop/testingQT/Linuxapp"
                    /Desktop/testingQT/.."
                    /Desktop/testingQT/."
                    /Desktop/testingQT/dfgdggd"

                    But I want only files.

                    mrjjM Offline
                    mrjjM Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on last edited by
                    #12

                    @developerNancy

                    well u left out the list of files u want
                    so that seems to mean no files when u dont give it a list.

                    D 2 Replies Last reply
                    0
                    • mrjjM mrjj

                      @developerNancy

                      well u left out the list of files u want
                      so that seems to mean no files when u dont give it a list.

                      D Offline
                      D Offline
                      developerNancy
                      wrote on last edited by
                      #13

                      @mrjj My output is this:
                      /Desktop/testingQT"
                      /Desktop/testingQT/Linuxapp"
                      /Desktop/testingQT/.."
                      /Desktop/testingQT/."
                      /Desktop/testingQT/dfgdggd"

                      But there is . and .. also I want only files

                      1 Reply Last reply
                      0
                      • mrjjM mrjj

                        @developerNancy

                        well u left out the list of files u want
                        so that seems to mean no files when u dont give it a list.

                        D Offline
                        D Offline
                        developerNancy
                        wrote on last edited by
                        #14

                        @mrjj I want files only without . and .. means 1st is file name and second null and third also null and fourth is file name.

                        /Desktop/testingQT/Linuxapp"
                        /Desktop/testingQT/.."
                        /Desktop/testingQT/."
                        /Desktop/testingQT/dfgdggd"

                        the_T 1 Reply Last reply
                        0
                        • D developerNancy

                          @mrjj I want files only without . and .. means 1st is file name and second null and third also null and fourth is file name.

                          /Desktop/testingQT/Linuxapp"
                          /Desktop/testingQT/.."
                          /Desktop/testingQT/."
                          /Desktop/testingQT/dfgdggd"

                          the_T Offline
                          the_T Offline
                          the_
                          wrote on last edited by
                          #15

                          @developerNancy
                          You may have a look at http://doc.qt.io/qt-5/qdiriterator.html#QDirIterator-2 and http://doc.qt.io/qt-5/qdir.html#Filter-enum

                          -- No support in PM --

                          D 1 Reply Last reply
                          1
                          • the_T the_

                            @developerNancy
                            You may have a look at http://doc.qt.io/qt-5/qdiriterator.html#QDirIterator-2 and http://doc.qt.io/qt-5/qdir.html#Filter-enum

                            D Offline
                            D Offline
                            developerNancy
                            wrote on last edited by
                            #16

                            @the_ I am new in qt I don't know how to implement too confused

                            the_T 1 Reply Last reply
                            0
                            • D developerNancy

                              @the_ I am new in qt I don't know how to implement too confused

                              the_T Offline
                              the_T Offline
                              the_
                              wrote on last edited by
                              #17

                              @developerNancy
                              Which part of the documentation don't you understand and what did you try so far?

                              -- No support in PM --

                              D 1 Reply Last reply
                              0
                              • the_T the_

                                @developerNancy
                                Which part of the documentation don't you understand and what did you try so far?

                                D Offline
                                D Offline
                                developerNancy
                                wrote on last edited by
                                #18

                                @the_ I have almost done but I want only files......

                                the_T D 2 Replies Last reply
                                0
                                • D developerNancy

                                  @the_ I have almost done but I want only files......

                                  the_T Offline
                                  the_T Offline
                                  the_
                                  wrote on last edited by the_
                                  #19

                                  @developerNancy

                                  If you only want the files within a folder just apply the correct QDir::Filters to the QDirIterator.
                                  Just a guess: QDir::Files as can be found in http://doc.qt.io/qt-5/qdir.html#Filter-enum

                                  --EDIT

                                  QDir::NoDotAndDotDot is not neccessary if you use QDir::Files as . and .. are folders and not files. my bad, sorry

                                  -- No support in PM --

                                  D 1 Reply Last reply
                                  1
                                  • D developerNancy

                                    @the_ I have almost done but I want only files......

                                    D Offline
                                    D Offline
                                    developerNancy
                                    wrote on last edited by
                                    #20

                                    @developerNancy Would be great if you could provide me with some working example of this.

                                    Thanks

                                    1 Reply Last reply
                                    0
                                    • the_T the_

                                      @developerNancy

                                      If you only want the files within a folder just apply the correct QDir::Filters to the QDirIterator.
                                      Just a guess: QDir::Files as can be found in http://doc.qt.io/qt-5/qdir.html#Filter-enum

                                      --EDIT

                                      QDir::NoDotAndDotDot is not neccessary if you use QDir::Files as . and .. are folders and not files. my bad, sorry

                                      D Offline
                                      D Offline
                                      developerNancy
                                      wrote on last edited by developerNancy
                                      #21

                                      @the_ said what I have to change

                                            QString UploadFolder = QFileDialog::getExistingDirectory(this, tr("Open Directory"),"/home",QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);
                                      
                                        QDirIterator UploadFolderFiles(UploadFolder, QDirIterator::Subdirectories);
                                            while (UploadFolderFiles.hasNext()) {
                                                qDebug() << UploadFolderFiles.next();
                                            }
                                       this->uploadLine->setText(UploadFolder);
                                      
                                      the_T 1 Reply Last reply
                                      0
                                      • D developerNancy

                                        @the_ said what I have to change

                                              QString UploadFolder = QFileDialog::getExistingDirectory(this, tr("Open Directory"),"/home",QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);
                                        
                                          QDirIterator UploadFolderFiles(UploadFolder, QDirIterator::Subdirectories);
                                              while (UploadFolderFiles.hasNext()) {
                                                  qDebug() << UploadFolderFiles.next();
                                              }
                                         this->uploadLine->setText(UploadFolder);
                                        
                                        the_T Offline
                                        the_T Offline
                                        the_
                                        wrote on last edited by
                                        #22

                                        @developerNancy

                                        Just use QDirIterator::QDirIterator(const QString &path, QDir::Filters filters, IteratorFlags flags = NoIteratorFlags) instead of QDirIterator::QDirIterator(const QDir &dir, IteratorFlags flags = NoIteratorFlags) as your constructor and apply the filters you need as listed in QDir::Filters

                                        -- No support in PM --

                                        D 1 Reply Last reply
                                        2
                                        • the_T the_

                                          @developerNancy

                                          Just use QDirIterator::QDirIterator(const QString &path, QDir::Filters filters, IteratorFlags flags = NoIteratorFlags) instead of QDirIterator::QDirIterator(const QDir &dir, IteratorFlags flags = NoIteratorFlags) as your constructor and apply the filters you need as listed in QDir::Filters

                                          D Offline
                                          D Offline
                                          developerNancy
                                          wrote on last edited by
                                          #23

                                          @the_ Thanks....

                                          mrjjM 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