从mysql数据库中读取比较大的图片,在jsp页面中就不能显示,感觉是I/O流写的不合适,谁来帮帮我呀

从mysql数据库中读取比较大的图片,在jsp页面中就不能显示,感觉是I/O流写的不合适,谁来帮帮我呀。我们这个是上传图片到服务器的模块,在上传成功后就会在前台显示出来,... 从mysql数据库中读取比较大的图片,在jsp页面中就不能显示,感觉是I/O流写的不合适,谁来帮帮我呀。我们这个是上传图片到服务器的模块,在上传成功后就会在前台显示出来,我在测试时候都是用比较小的图片,能完成正常功能,可是当他们把比较大的图片(其实也不算大,3M)上传到服务器时候,在前台就显示一个大红叉,我在数据库中看到这张图片已经存入了,可以肯定是读取方面出了问题,我把代码贴出来,大家帮忙看看吧,谢了先

try {
String strSQL = "Select dt from qydttz where SYSNO='"+sysno+"'";

con = dc.getConnection();
pre = con.prepareStatement(strSQL);
rst = pre.executeQuery();
if (rst.next()) {

blob = (Blob) rst.getBlob("dt");
long size = blob.length();
byte[] bs = blob.getBytes(1, (int) size);
ServletOutputStream out1 = response.getOutputStream();

BufferedOutputStream bos = null;
bos = new BufferedOutputStream(out1);
bos.write(bs, 0, bs.length);
bos.flush();
}

pre.close();
rst.close();
dc.commit();
out.clear();
out = pageContext.pushBody();
} catch (Exception e) {
e.printStackTrace();
} finally {
con.close();
}
}
dc.close();
cm.release();
还有没有高人呀,等了这么几天,还是这几个答案,没一个能解决问题的呀,难道百度真的无人了,哎,我等的花儿都谢了
展开
 我来答
寻找逆流的鱼
2010-08-04 · TA获得超过497个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:245万
展开全部
1,如果是可以改需求的话,不建议把图片传到数据库里,最好把图片传到一个文件夹里,在数据库只存这个图片的路径就行,这样最简单,不容易出错

2 测一下数据连接有没问题, if (rst.next()) 这里最好改成if(rst!=null&&rst.next())
百度网友93b95447e
2010-08-04 · TA获得超过498个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:190万
展开全部
二进制字段大小多大?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张明煜5
2010-08-04 · TA获得超过176个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:146万
展开全部
long size = blob.length();
byte[] bs = blob.getBytes(1, (int) size);
你进行了窄化转换,会不会是这里除了问题啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱吃大虾的螃蟹
2010-08-04 · TA获得超过147个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:192万
展开全部
建议你将图片放在一个文件夹下,将文件夹目录和指定图片的路径放在数据库里,这样读比较方便。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式