Qt通过Http上传文件(路过)

简介: web端:QT端:.h文件:private: QNetworkAccessManager *_uploadManager; QNetworkReply *_reply; char* m_buf;private slots:...

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 )));


目录
相关文章
|
8月前
|
PHP Android开发
android通过http上传文件,服务器端用php写(原创)
android通过http上传文件,服务器端用php写(原创)
73 4
|
5月前
|
JavaScript API
Qt HTTP和HttpServer
Qt HTTP和HttpServer
185 1
|
6月前
Qt http的认证方式以及简单实现
以上就是Qt实现HTTP认证的基本步骤。需要注意的是,以上代码未进行错误处理,实际使用时需要根据具体情况进行相应的错误处理。
128 1
|
8月前
|
网络协议 网络安全 API
Qt 网络编程之美:探索 URL、HTTP、服务发现与请求响应
Qt 网络编程之美:探索 URL、HTTP、服务发现与请求响应
758 1
|
8月前
|
监控 网络安全 C++
Qt 5.14.2 网络编程揭秘:构建高效HTTP客户端与文件下载器
Qt 5.14.2 网络编程揭秘:构建高效HTTP客户端与文件下载器
510 0
|
8月前
|
存储 JSON 前端开发
QT Http协议
QT Http协议
113 0
|
Android开发
qt打包安卓报http请求错误
qt打包安卓报http请求错误
85 0
|
存储 缓存 JavaScript
Qt+QtWebApp开发笔记(六):http服务器html实现静态相对路径调用第三方js文件
为了解决调用一些依赖的如echarts等一些js的代码模块引入的问题,就需要静态文件了。 本篇解说StaticFileController,在返回的html文本中调用外部js文件,类似的,其他文件都是一样了,只是引入的后缀名不一样。
Qt+QtWebApp开发笔记(六):http服务器html实现静态相对路径调用第三方js文件
|
Ubuntu IDE Java
Qt+QtWebApp开发笔记(一):QtWebApp介绍、下载和搭建基础封装http轻量级服务器Demo
在arm上做了Qt的应用程序,为了在局域网实现web页的访问方式来配置arm上Qt的程序,局域网轻量级http服务器是很好的实现方式之一,有机会做国产麒麟上Qt的http服务器,正好接触到了QtWebApp可以实现。   本篇实战解说QtWebApp的轻量级Demo。   本篇篇幅较长,为了保持基础的完整性将必要的东西都放在本篇。
|
XML JSON 前端开发
Qt+QtWebApp开发笔记(五):http服务器html中使用json触发ajax与后台交互实现数据更新传递
前面完成了页面的跳转、登录,很多时候不刷新页面就想刷新局部数据,此时ajax就是此种技术,且是异步的。   本篇实现网页内部使用js调用ajax实现异步交互数据。   在js中使用 ajax是通过XMLHttpRequest来实现的。