qt http post 文件上传

mceet 2018-11-13 11:47:33
如下表单:
<html>
<head>
</head>
<body>

<form action="https://www.yingweiimage.com/service-film/v1/patient/study/dicom/upload" method="post" enctype ="multipart/form-data">
<input id="attachment " name="attachment " type="file" />
<input id="id" name="id" type="number">
<input type="submit" name="Button1" value="Button" id="Button1" />
</form>

</body>
</html>
用qt如何提交到服务器上。
...全文
511 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
弓人水 2018-11-16
  • 打赏
  • 举报
回复
大致方法如下,没经过测试,稍微调试一下:

QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);

QHttpPart idPart;
QString id = "";
idPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"id\""));
idPart.setBody(id);
multiPart->append(idPart); // id

QHttpPart imagePart;
QString filePath = "image.jpg";
imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));
imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"attachment \"; filename=\"" + filePath + "\""));
QFile *file = new QFile(filePath);
file->open(QIODevice::ReadOnly);
imagePart.setBodyDevice(file);
file->setParent(multiPart); // Delete object with parent

multiPart->append(imagePart); // attachment

QUrl url("https://www.yingweiimage.com/service-film/v1/patient/study/dicom/upload");
QNetworkRequest request(url);

QNetworkAccessManager manager;
QNetworkReply *reply = manager.post(request, multiPart);
multiPart->setParent(reply); // Delete object with parent

16,817

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧