关于基于qt的http上传文件-QHttpPart和QNetworkRequest中setHeader的区别

一. 知识点:setHeader的区别

二. 详解 :如下图,在文件上传中,QHttpPartsetHeader是设置form-data中的数据的。

      需要注意的是:QHttpPart的name表示参数名,filename表示参数值,而参数值对应的数据用setBodyDevice或setBody来对应,故QHttpPart在多个文件上传时需要多个。

      name和filename是成对出现的,type指定二进制方式上传

      QHttpPart 是QHttpMutilPart的数据类型,可以有多个,用append方法添加上。

      如:有一个文件就有一个QHttpPart。

三. 运用  : 

以下代码对应以下截图

复制代码
QString requestFormat = QString::fromLocal8Bit("form-data;name=file;filename=943xxxx.jpg;type=application/octet-stream");

QHttpPart mImagePart;

mImagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant(requestFormat));

mImagePart.setBodyDevice(&mFile);

multiPart->append(mImagePart);//QHttpMutli multiPart
//发送
QNetworkReply* _mReply = nam.post(*request_turnSave, multiPart);
复制代码

 

......

我是截图

 

我是截图

 

posted @   Labant  阅读(772)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示