• 7050阅读
  • 9回复

QT4下 MYSQL保存图片问题 [复制链接]

上一主题 下一主题
离线njliu1113
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-13
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-06-23) —
下面这段代码被保存的图片最大只能1M,但我要保存的PNG图片都是1.8M左右,有没有什么方法解决这个问题
我将下面的char data[1000*1024]; char chunk[2*1000*1024+1]; char query[1024*5000];size = fread(data, 1, 1024*1000, fp);
修改为char data[2000*1024]; char chunk[2*2000*1024+1]; char query[2*1024*5000],size = fread(data, 1, 1024*2000, fp);
以后还是不行,不知道怎么搞
离线XChinux

只看该作者 1楼 发表于: 2011-01-13
QPixmap img("ssss.png");
QSqlQuery q;
q.prepare("insert int table1(photo1) values(?)");
q.addBindValue(img.toByteArray());
q.exec();

读的时候:
q.exec("select photo1 from xxxx");
while (q.next())
{
    QPixmap img;
img.loadFromData(q.value(0).toByteArray());
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线njliu1113
只看该作者 2楼 发表于: 2011-01-13
回 1楼(XChinux) 的帖子
谢谢回答,我先研究下。
离线cycloneii

只看该作者 3楼 发表于: 2011-01-13
引用第1楼XChinux于2011-01-13 16:10发表的  :
QPixmap img("ssss.png");
QSqlQuery q;
q.prepare("insert int table1(photo1) values(?)");
q.addBindValue(img.toByteArray());
q.exec();
.......

你loadFromData的时候不指定图像数据格式的?
[ 此帖被cycloneii在2011-01-13 22:42重新编辑 ]
离线njliu1113
只看该作者 4楼 发表于: 2011-01-14
回 1楼(XChinux) 的帖子
q.addBindValue(img.toByteArray());
‘class QPixmap’has no member named 'toByteArray'

是QT版本不一样吗,我的是QT4.7
离线XChinux

只看该作者 5楼 发表于: 2011-01-14
写上面的示例的时候很早了,Qt 4.3的时候好像是。
你用QImage的方法试试。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线njliu1113
只看该作者 6楼 发表于: 2011-01-14
回 5楼(XChinux) 的帖子
QImage也好象没有这类方法
离线XChinux

只看该作者 7楼 发表于: 2011-01-14
静态方法。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线woshiisp
只看该作者 8楼 发表于: 2011-06-20
正是需要了解这方面内容
QT~想要爱你不容易啊!不容易 也要 爱 哈哈哈
离线jay8830095
只看该作者 9楼 发表于: 2011-06-22
顶下
在不断的变化
快速回复
限100 字节
 
上一个 下一个