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

浙公网安备 33010602011771号