Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-24601

QNetworkManager cannot upload binaries with POST when binary is larger then RAM available

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Invalid
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Network
    • Labels:
    • Environment:

      Symbian S60 and Symbian^3 devices

      Description

      Using NAM for uploading files to any online server with POST method will fail in Qt 4.6.x and Qt 4.7.x because NAM loads the binary file completely into a buffer located in random access memory.
      Issue occurs only when file is larger in size than available memory at the moment. NAM build and sends the request only when complete binary is loaded in memory buffer using memcpy. Works fine for files smaller in size then free RAM.
      This has been fixed in Qt5, I'm requesting a backport to Qt 4.8.

      http://peter.hartmann.tk/blog/2012/02/inside-the-qt-http-stack.html

      Point of order number 1, last paragraph.

      At current state, developers are forced to disassemble the POST request and send it in sequential chunks via QTcpSocket which does work fine but requires signals interconnecting and is highly unstable in case of connection loss.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            earthdomain Earth Domain (Inactive)
            Reporter:
            knobtviker Bojan Komljenović
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes