QT QHttpMultiPart上传图片

Posted smbx-ztbz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT QHttpMultiPart上传图片相关的知识,希望对你有一定的参考价值。

使用get请求或post请求可以传递简单的参数,但要上传图片到服务器,就要多做一些工作了,如下代码片段利用post请求可成功上传图片到服务器:

QNetworkRequest request;
request.setUrl(m_strServerAddr);
QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
QHttpPart imagePart;
imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));//如果是png图片填image/png
imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name="image"; filename="image.jpg""));
// imagePart.setRawHeader("Content-ID", "[email protected]"); // 添加任何你喜欢的 headers
QFile *file = new QFile("image.jpg");
file->open(QIODevice::ReadOnly);
imagePart.setBodyDevice(file);
multiPart->append(imagePart);

m_pNetWorkManager->post(request, multiPart);

 

参考:

Qt 之 QHttpPart 和 QHttpMultiPart - CSDN博客  https://blog.csdn.net/liang19890820/article/details/52548717

以上是关于QT QHttpMultiPart上传图片的主要内容,如果未能解决你的问题,请参考以下文章

QHttpMultiPart 上传多个文件

QHttpMultiPart:将文件发布到 PHP 脚本

使用 NetworkManager 上传文件不起作用

为什么上传到谷歌硬盘时没有设置文件名?

QT 防止FTP 上传软件在断连处 Crash

是否应该学习qt源码(碰到问题的时候,或者文档对函数描述不清楚的时候,可以看一下)