c++ Qt向PHP接口POST文件流
生活随笔
收集整理的這篇文章主要介紹了
c++ Qt向PHP接口POST文件流
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Qt調(diào)用PHP寫(xiě)的接口,向其傳遞圖片文件,并保存在服務(wù)器。
二進(jìn)制文件無(wú)法直接傳遞,Qt采用Base64進(jìn)行編碼發(fā)送,PHP解碼保存為文件。
注意:PHP收到數(shù)據(jù)之后會(huì)將POST過(guò)來(lái)的數(shù)據(jù)中的加號(hào)(+)替換為空格,造成接收到的數(shù)據(jù)不全,無(wú)法正常還原的問(wèn)題,這里采用在PHP解碼之前先將所有空格替換為+號(hào)的方法。
Qt文件:
//Qt文件QFile file("1.jpg");if(!file.open (QIODevice::ReadOnly)){qDebug()<<"file open failed.";return;}QByteArray data=file.readAll ();file.close ();QNetworkRequest req(QUrl("http://localhost:88/index.php"));networkMgr->post (req,"fileData="+data.toBase64 ()+"");
PHP文件:
<?php $recContent=$_POST['fileData']; $data=base64_decode(str_replace(" ","+",($recContent))); file_put_contents("1.jpg", $data); ?>
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/rophie/p/4113471.html
總結(jié)
以上是生活随笔為你收集整理的c++ Qt向PHP接口POST文件流的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。