Qt应用程序开发九:上传文件

上传参数如下:

核心代码:

void HttpReq::upload(QString jsonfile)
{

   if(!QFile::exists(jsonfile))
       return;
   QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);

   QHttpPart textPart;
   textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"customerId\""));
   textPart.setBody(readConfig("customerId").toString().toLatin1());
   multiPart->append(textPart);
   QString filepath = jsonfile;
   QHttpPart headerPart;
   headerPart.setHeader(QNetworkRequest::ContentDispositionHeader, QString("form-data; name=\"file\";filename=\"%1\"").arg(jsonfile));
   if(file == NULL){
      file = new QFile(filepath);
   }

    if(!file->open(QIODevice::ReadOnly)){      
         return;
    }

    headerPart.setBodyDevice(file);
    file->setParent(multiPart);
    multiPart->append(headerPart);

    QNetworkRequest request;
    request.setUrl(QUrl(mUrlRootUpLoad));
    m_netReply = m_manager->post(request, multiPart);
    connect(m_netReply,SIGNAL(readyRead()),this,SLOT(uploadResult()));
    connect(m_netReply,SIGNAL(finished()),this,SLOT(ReplyFinished()));
    connect(m_netReply,SIGNAL(uploadProgress(qint64,qint64)),this,SLOT(ReplyUploadProgress(qint64,qint64)));
    connect(m_netReply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(onReplyError(QNetworkReply::NetworkError)));

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值