获取流数据后再网页输出,总是提示下载解决方案
获取流数据后再网页输出,总是提示下载Java codeServletOutputStream op response.getOutputStream()Jsz
获取流数据后再网页输出,总是提示下载
Java codeServletOutputStream op = response.getOutputStream(); JszyDao jd=new JszyDao(); int fid=0; try { fid=Integer.parseInt(request.getParameter("fid")); }catch(Exception ex){ out.print("数据不存在."); return; } BufferedInputStream is=jd.getJszyIo(fid); try{ int len=0; byte[] buf=new byte[10*1024]; while((len= is.read(buf))!=-1) { op.write(buf, 0, len); } is.close(); op.flush(); op.close(); }catch(Exception ex){ ex.printStackTrace(); }
代码如上:
问题是这样的,当前有个数据库(数据库是老早CS系统VB开发设计的),现在需要公用这个库。
数据库中有个字段,是用流存储的,现在需要将里面的值显示在页面上,里面可能有图片
用上面的方法获取后,如果我没有在页面上加编码方式,输出的和数据库中的字符是一样的(这个字段是类型是TEXT类型),如果加了编码则提示我下载文件,下载得文件是RTF格式的。下载的到的这个文件里的数据是正确的。
请问,如何保证数据在页面上显示正确呢?
流学的太菜。各位大侠见笑了。
[解决办法]如果是图片的话,可以写个servlet,将它的输出流作为图片的src,实现类似于图片验证码
如果存的不是图片,我就没有实践过啦
[解决办法]你可以拿取文件得前几个字节来判断是否是合法得图片文件....具体得对照关系。你网上找下吧