相关疑难解决方法(0)

使用Qt QNetworkRequest上传文件

我一直在尝试使用QNetworkRequest将文件上传到服务器时遇到一些问题.我一直在使用这个链接(http://qt-project.org/forums/viewthread/11361)作为模板,但我仍然得到POST错误(203具体).这是我到目前为止所拥有的.

void MainWindow::processFile(){

    QByteArray postData;
    //Look below for buildUploadString() function
    postData = mReport->buildUploadString();

    QUrl mResultsURL = QUrl("http://" + VariableManager::getInstance()->getServerIP() +  "/uploadFile.php");
    QNetworkAccessManager* mNetworkManager = new QNetworkAccessManager(this);


    QString bound="margin"; //name of the boundary

    QNetworkRequest request(mResultsURL); //our server with php-script
    request.setRawHeader(QString("Content-Type").toAscii(),QString("multipart/form-data; boundary=" + bound).toAscii());
    request.setRawHeader(QString("Content-Length").toAscii(), QString::number(postData.length()).toAscii());


    connect(mNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(printScriptReply(QNetworkReply*))); //This slot is used to debug the output of the server script
    mNetworkManager->post(request,postData);
}


QByteArray ReportParser::buildUploadString()
{
    QString path = VariableManager::getInstance()->getReportDirectory();
    path.append("\\\\");
    path.append(getReportFileName());


    QString bound="margin";
    QByteArray data(QString("--" + bound + …
Run Code Online (Sandbox Code Playgroud)

qt file-upload qnetworkaccessmanager

9
推荐指数
1
解决办法
8242
查看次数

标签 统计

file-upload ×1

qnetworkaccessmanager ×1

qt ×1