从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();
还有没有高人呀,等了这么几天,还是这几个答案,没一个能解决问题的呀,难道百度真的无人了,哎,我等的花儿都谢了 展开
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();
还有没有高人呀,等了这么几天,还是这几个答案,没一个能解决问题的呀,难道百度真的无人了,哎,我等的花儿都谢了 展开
展开全部
二进制字段大小多大?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
long size = blob.length();
byte[] bs = blob.getBytes(1, (int) size);
你进行了窄化转换,会不会是这里除了问题啊?
byte[] bs = blob.getBytes(1, (int) size);
你进行了窄化转换,会不会是这里除了问题啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你将图片放在一个文件夹下,将文件夹目录和指定图片的路径放在数据库里,这样读比较方便。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询