gpt4 book ai didi

android - 使用Qt和Java在sqlite中保存和检索图片

转载 作者:行者123 更新时间:2023-11-28 06:50:10 25 4
gpt4 key购买 nike

我想在 sqlite 数据库中保存图片,然后在 java android 中打开它!为了保存图片我用Qt写了一个C++程序。在 C++ 代码中,我将图片作为文件打开,然后将其转换为 QByteArray。

QFile file(foodImagePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
ShowError("Bad Image File.");
return;
}

QByteArray imageData = file.readAll();

但是当我用 sqliteManager 检索图片时,输出是一个错误的文件。(不正确的图片)然后我决定将图片保存为 sqlite 中的文本,并在 C++ 端将其转换为 base64!

QString(imageData.toBase64())

并在 android 端检索此代码。

String imgString = cur.getString(0);

if( imgString != null)
{
byte[] imgByte = Base64.decode(imgString, Base64.DEFAULT);
pic = BitmapFactory.decodeByteArray(imgByte,0,imgByte.length);
}

现在我可以看到图片了,但是有点破损! enter image description here enter image description here有谁能够帮助我? PLZ.

最佳答案

图像文件不是文本文件。删除 QIODevice::Text 标志。

(如果正确处理 blob,则无需使用 Base64。)

关于android - 使用Qt和Java在sqlite中保存和检索图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com