2013-08-04 22 views
1

我想使用Qt的QNetworkAccessManager類使用POST方法上傳圖像到apache服務器。我沒有得到的是,如何爲圖像設置合適的QNetworkRequest :: ContentTypeHeader和QNetworkRequest :: ContentLengthHeader?如果ContentTypeHeader是「multipart/form-data」,那麼邊界應該設置爲什麼?如何爲我使用QNetworkAccessManager上傳的圖像設置QNetworkRequest :: ContentTypeHeader和QNetworkRequest :: ContentLengthHeader?

示例代碼:

data = new QFile("/home/darshan/aindra/1.png", this); 
    if (data->open(QIODevice::ReadOnly)) 
    { 
     manager = new QNetworkAccessManager(); 
     req.setUrl(QUrl(upload_url)); 
     //space for req.setHeader() - contenttypeheader 
     //space for req.setHeader() - contentlengthheader 
     //reply = manager->post(req, QByteArray); 
     connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(requestFinished(QNetworkReply*))); 
     connect(reply, SIGNAL(uploadProgress(qint64, qint64)), SLOT(uploadProgress(qint64, qint64))); 
    } 
    else 
    { 
     qDebug() << "Could not open file to FTP"; 
    } 

回答

2

由於Qt的4.8,你可以使用QHttpMultipartQNetworkAccessManager上傳文件。

http://doc.qt.io/qt-4.8/qhttpmultipart.html

+0

我知道我不應該使用註釋部分作爲表達感謝的平臺,但你只是告訴我那件事,併爲該,非常感謝救了我的命。我現在可以順利上傳圖片:) – Learner

相關問題