QT版本是5.14.2。
为了实现设置头像功能,把用户选择的图片放Label上,提交的时候获取Label上的图片,转换成QByteArray,再转成QString存入数据库。(因为用的是别人封装好的类,存取都是QString)picture字段数据类型是varchar.
读取的时候转换成QByteArray,再转成QPixmap,这里QPixmap::loadFromData返回flase了。
//存
const QPixmap *inPixmap = mod1->photo->pixmap();
QByteArray inByteArray;
QBuffer inBuffer(&inByteArray);
inBuffer.open(QIODevice::WriteOnly);
inPixmap->save(&inBuffer,"png",0);
hash_lm["picture"] = QString(inByteArray.toBase64());
//取
QByteArray outByteArray = QByteArray::fromBase64(hash_lm["piture"].toLocal8Bit());
QPixmap outPixmap;
qDebug() << outPixmap.loadFromData(outByteArray,"png");
数据库显示这样的:
求解答,多谢了!
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。