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. [Solved]Problem Downloading a file
Forum Updated to NodeBB v4.3 + New Features

[Solved]Problem Downloading a file

Scheduled Pinned Locked Moved General and Desktop
21 Posts 8 Posters 8.0k Views 1 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.
  • R Offline
    R Offline
    Robbin
    wrote on last edited by
    #9

    as stated earlier, your URL should be percent-encoded. I don't see the .toPercentEncoding() method used, even though you said you used it.

    @
    iNetReply = iNetManager->get(QNetworkRequest(QUrl("http://myStore-dev.myCompany.com/lmn/00000/fetch?device=00000&file=myFile+.zip")));
    @

    should be
    @
    iNetReply = iNetManager->get(QNetworkRequest(QUrl("http://myStore-dev.myCompany.com/lmn/00000/fetch?device=00000&file=myFile+.zip").toPercentEncoding()));
    @

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dangelog
      wrote on last edited by
      #10

      [quote]My url already have %_2_B instead of +, but server when i perform get answer: ContentNotFoundError, but if i put the same url into firefox I’m able to download right file.[/quote]

      Can you use wireshark or a similar tool to analyze the HTTP traffic and understand what's going on?

      [quote author="Eus" date="1314173671"]as stated earlier, your URL should be percent-encoded. I don't see the .toPercentEncoding() method used, even though you said you used it.

      @
      iNetReply = iNetManager->get(QNetworkRequest(QUrl("http://myStore-dev.myCompany.com/lmn/00000/fetch?device=00000&file=myFile+.zip")));
      @

      should be
      @
      iNetReply = iNetManager->get(QNetworkRequest(QUrl("http://myStore-dev.myCompany.com/lmn/00000/fetch?device=00000&file=myFile+.zip").toPercentEncoding()));@
      [/quote]

      This is completely nonsense. Not only that doesn't compile, but there's no QNetworkRequest(QByteArray) ctor, and you don't want to percent encode that url (thus escaping :, /, ?, &, etc.).

      Software Engineer
      KDAB (UK) Ltd., a KDAB Group company

      1 Reply Last reply
      0
      • R Offline
        R Offline
        Robbin
        wrote on last edited by
        #11

        yeah, my bad, just noticed that too. And I haven't tried to compile it, it was using his code as starting point. He could percent encode the name only.....

        1 Reply Last reply
        0
        • G Offline
          G Offline
          goetz
          wrote on last edited by
          #12

          [quote author="peppe" date="1314174967"]
          This is completely nonsense. Not only that doesn't compile, but there's no QNetworkRequest(QByteArray) ctor
          [/quote]

          The compiler will call the non-explicit QString(QByteArray) constructor for this, unless QT_NO_CAST_FROM_ASCII is defined.

          http://www.catb.org/~esr/faqs/smart-questions.html

          1 Reply Last reply
          0
          • D Offline
            D Offline
            dangelog
            wrote on last edited by
            #13

            [quote author="Volker" date="1314177476"]
            [quote author="peppe" date="1314174967"]
            This is completely nonsense. Not only that doesn't compile, but there's no QNetworkRequest(QByteArray) ctor
            [/quote]

            The compiler will call the non-explicit QString(QByteArray) constructor for this, unless QT_NO_CAST_FROM_ASCII is defined.
            [/quote]

            Nope -- QNetwokRequest wants a QUrl. There are two conversions to be made (QByteArray -> QString -> QUrl), and C++ forbids that (not to mention the fact that you can disable either of them with macros).

            Software Engineer
            KDAB (UK) Ltd., a KDAB Group company

            1 Reply Last reply
            0
            • Q Offline
              Q Offline
              qwertyuiopearendil
              wrote on last edited by
              #14

              Then what should i do?

              1 Reply Last reply
              0
              • A Offline
                A Offline
                andre
                wrote on last edited by
                #15

                Constructing a valid QUrl to pass to QNetworkRequest sounds like a reasonable path to walk...

                1 Reply Last reply
                0
                • Q Offline
                  Q Offline
                  qwertyuiopearendil
                  wrote on last edited by
                  #16

                  It's what I'm trying to do...

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dangelog
                    wrote on last edited by
                    #17

                    [quote author="qwertyuiopearendil" date="1314180408"]Then what should i do?[/quote]

                    As I said, dump HTTP headers and inspect them.

                    Software Engineer
                    KDAB (UK) Ltd., a KDAB Group company

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      goetz
                      wrote on last edited by
                      #18

                      [quote author="peppe" date="1314177763"]
                      Nope -- QNetwokRequest wants a QUrl. There are two conversions to be made (QByteArray -> QString -> QUrl), and C++ forbids that (not to mention the fact that you can disable either of them with macros).
                      [/quote]

                      Eek, you're right. I mixed up the parentheses. I need to do more LISP to get used to that ;-)

                      http://www.catb.org/~esr/faqs/smart-questions.html

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        andre
                        wrote on last edited by
                        #19

                        You might want to read the documentation for QUrl::fromUserInput then. It contains some more info on how to deal with string encodings and the likes.

                        1 Reply Last reply
                        0
                        • Q Offline
                          Q Offline
                          qwertyuiopearendil
                          wrote on last edited by
                          #20

                          Solved!!!
                          Below the solution about my problem:

                          @
                          QString strUrl="http://myStore-dev.com/zip/mioFile%2_B.zip";

                          QByteArray baUrl(strUrl.toAscii().data());

                          QUrl tmpUrl1;
                          tmpUrl1.setEncodedUrl(baUrl);
                          iNetReply = iNetManager->get(QNetworkRequest(tmpUrl1));
                          @

                          Thanks to all.

                          Bye bye.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            mlong
                            wrote on last edited by
                            #21

                            Please be sure and add [Solved] to the beginning of the thread title. Thanks!

                            Software Engineer
                            My views and opinions do not necessarily reflect those of anyone -- living or dead, real or fictional -- in this universe or any other similar multiverse node. Void where prohibited. Your mileage may vary. Caveat emptor.

                            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