diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 1d7c5bec51..9ce2128ead 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -889,6 +889,8 @@ static int parseHeaderName(const QByteArray &headerName) return QNetworkRequest::ContentLengthHeader; else if (qstricmp(headerName.constData(), "cookie") == 0) return QNetworkRequest::CookieHeader; + else if (qstricmp(headerName.constData(), "content-disposition") == 0) + return QNetworkRequest::ContentDispositionHeader; break; case 'l': @@ -944,6 +946,7 @@ static QVariant parseHeaderValue(QNetworkRequest::KnownHeaders header, const QBy case QNetworkRequest::UserAgentHeader: case QNetworkRequest::ServerHeader: case QNetworkRequest::ContentTypeHeader: + case QNetworkRequest::ContentDispositionHeader: // copy exactly, convert to QString return QString::fromLatin1(value); diff --git a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp index bc9144e40e..50c7ddb0b6 100644 --- a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp +++ b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp @@ -373,6 +373,9 @@ void tst_QNetworkRequest::rawHeaderParsing_data() << QVariant::fromValue(QList() << cookie << cookie2) << true << "Set-Cookie" << "a=b; path=/\nc=d"; + QTest::newRow("Content-Disposition") << QNetworkRequest::ContentDispositionHeader + << QVariant("attachment; filename=\"test.txt\"") << true + << "Content-Disposition" << "attachment; filename=\"test.txt\""; } void tst_QNetworkRequest::rawHeaderParsing()