项目中有获取到服务器那边发来的base64图片数据在客户端进行显示,取到的数据使用
QPixmap::loadFromData(const QByteArray &buf, const char *format, Qt::ImageConversionFlags flags)
进行加载死活不行,整了好久最后发现发过来的数据包含了多余的东西
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...
上面这个是接收到的数据的前面的数据,前面的
data:image/jpeg;base64,
不是有效的数据,只需加载后面的数据就可以了
实现的代码如下
QString imageData;//接收到服务器的base64数据是string类型
QPixmap image;
image.loadFromData(QByteArray::fromBase64(imageData.section(",", 1).toLocal8Bit()));