Php QHttpMultiPart上传多个文件

Php QHttpMultiPart上传多个文件,php,c++,qt,Php,C++,Qt,我正试图通过我的应用程序将多个文件上载(发布)到web服务器。PHP端可以工作,正如我使用cURL上传一样,但我想通过Qt做同样的事情 我已经看过了,但我不知道如何将其转换为上载多个文件 QUrl(connServer+“/api.php”); QNetworkRequest请求(url); QHttpMultiPart*multiPart=新的QHttpMultiPart(QHttpMultiPart::FormDataType); QString preview_path=“C:/previ

我正试图通过我的应用程序将多个文件上载(发布)到web服务器。PHP端可以工作,正如我使用cURL上传一样,但我想通过Qt做同样的事情

我已经看过了,但我不知道如何将其转换为上载多个文件

QUrl(connServer+“/api.php”);
QNetworkRequest请求(url);
QHttpMultiPart*multiPart=新的QHttpMultiPart(QHttpMultiPart::FormDataType);
QString preview_path=“C:/preview.jpg”;
QHttpPart预览路径部分;
previewPathPart.setHeader(QNetworkRequest::ContentDispositionHeader,QVariant(“表单数据;名称=\“预览\路径\”));

previewPathPart.setBody(preview_path.toLatin1());/* 上面的代码很接近,但我只需要找出哪些代码指定了一次性变量,哪些代码指定了文件。此代码用于上载多个文件。然而。。。它一次只能上载20个文件。不确定这是Qt的极限还是别的什么。我的等效Perl/cURL程序可以毫无问题地将数百个文件上传到同一个PHP页面

QUrl(connServer+“/api.php”);
QNetworkRequest请求(url);
QHttpMultiPart*multiPart=新的QHttpMultiPart(QHttpMultiPart::FormDataType);
QHttpPart loginPart;
/*用户名*/
setHeader(QNetworkRequest::ContentDispositionHeader,QVariant(“表单数据;名称=\“u\”));
loginPart.setBody(connUsername.toLatin1());
多部分->附加(登录部分);
/*密码*/
setHeader(QNetworkRequest::ContentDispositionHeader,QVariant(“表单数据;名称=\“p\”));
loginPart.setBody(connPassword.toLatin1());
多部分->附加(登录部分);
/*行动*/
setHeader(QNetworkRequest::ContentDispositionHeader,QVariant(“表单数据;名称=\“操作\”));
loginPart.setBody(“上传DICOM”);
多部分->附加(登录部分);
/*循环浏览文件列表*/
用户界面->程序上传->设置范围(0100);
for(int i=0;iopen(QIODevice::ReadOnly);
filePart.setBodyDevice(文件);
file->setParent(multiPart);//我们现在无法删除该文件,因此请使用multiPart删除它
多部分->附加(文件部分);
}
QNetworkAccessManager*networkManager=新的QNetworkAccessManager(此);
QNetworkReply*reply=networkManager->post(请求,多部分);
multiPart->setParent(reply);//删除带有回复的multiPart
连接(应答,信号(finished()),此,插槽(onGetReply());
连接(应答,信号(错误(QNetworkReply::NetworkError)),此,插槽(上传错误(QNetworkReply::NetworkError));
连接(应答,信号(上传进度(qint64,qint64)),此,插槽(上传进度(qint64,qint64));