项目场景
项目中,Qt程序收到JS发过来的base64数据,按理说,下面代码就可以直接保存成本地图片。
//str是base64数据
void RemoteDataManager::base64_string_2_img(const QString & str)
{
QImage img;
QByteArray arr_base64 = str.toLatin1();
m_curImage.loadFromData(QByteArray::fromBase64(arr_base64 );
bool b = img.save("/home/test3.jpg");
}
但是发现img.save("/home/test3.jpg")
始终返回false.
百思不得其解啊。
哪里出错了?
分析1,保存base64数据
//str 是上面传过来的base64数据
QByteArray arr_base64 = str.toLatin1();
QFile file("out.txt");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return ;
QTextStream out(&file);
out << arr_base64;
file.close();
把文件保存到本地,然后复制里面所有的数据,打开在线BASE64转图片网址,