我们有时候会用json传输数据,那么如何使用json传输图片呢,这里使用Base64编解码。

 

(1)发送放编码:

 

//从图片文件中读取
QByteArray img = file.readAll();

//转换成base64编码
QByteArray img64 = file.readAll().toBase64();

//打包进json
jsonObj.insert("img", QJsonValue::fromVariant(img64));

 

(2)接收方解码:

//从json中读取为base64
QByteArray img64= jsonObj["img"].toVariant().toByteArray();

//从base64解码
QByteArray img = QByteArray::FromBase64(img64);

 //图片载入
QPixmap pixmap;
pixmap.loadFromData(img);