zoukankan      html  css  js  c++  java
  • Qt通过Http上传文件(路过)

    web端:

    <?php
     $c = $GLOBALS['HTTP_RAW_POST_DATA'];
     $n = $_GET["filename"];
     $fp = fopen($n,'w+');
     fwrite($fp, $c, strlen($c));
     fclose($fp);
    ?>



    QT端:

    .h:

    private:
      QNetworkAccessManager *_uploadManager;
      QNetworkReply *_reply;
      char* m_buf;
    private slots:
      void replyFinished( QNetworkReply* );
      void upLoadError(QNetworkReply::NetworkError errorCode);
      void OnUploadProgress( qint64 bytesSent, qint64 bytesTotal );

    .cpp: 

    _uploadManager = new QNetworkAccessManager(this);
      connect(_uploadManager,SIGNAL(finished(QNetworkReply*)),SLOT(replyFinished(QNetworkReply*)));
      m_buf = NULL;
    
      QFile file("d:/a.jpg");
      file.open(QIODevice::ReadOnly);
      int file_len = file.size();
      QDataStream in(&file);
      m_buf = new char[file_len];
      in.readRawData( m_buf, file_len);
      file.close();
    
      QNetworkRequest request(QUrl(tr(http://localhost/up.php?act=up&filename=a.jpg)));
      request.setHeader(QNetworkRequest::ContentTypeHeader, "application/octet-stream");
      QByteArray arr = QByteArray(m_buf, file_len);
      _reply = _uploadManager->post(request , arr);
      connect(_reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(upLoadError(QNetworkReply::NetworkError)));
      connect(_reply, SIGNAL(uploadProgress ( qint64 ,qint64 )), this, SLOT( OnUploadProgress(qint64 ,qint64 )));


  • 相关阅读:
    cpu时钟周期
    调参学习
    力扣:堆
    学习率衰减问题
    力扣:图之并查集问题
    Java判断空字符串
    python读取文件通过正则过滤需要信息然后保存到新文件里
    python换行写入文件
    Robotium solo.goBack();不起作用,解决方案
    Android清除本地数据缓存代码
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3328929.html
Copyright © 2011-2022 走看看