当前位置: 代码迷 >> Java Web开发 >> 获取流数据后再网页输出,总是提示下载解决方案
  详细解决方案

获取流数据后再网页输出,总是提示下载解决方案

热度:121   发布时间:2016-04-17 10:26:55.0
获取流数据后再网页输出,总是提示下载
Java code
ServletOutputStream 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,实现类似于图片验证码
如果存的不是图片,我就没有实践过啦
------解决方案--------------------
你可以拿取文件得前几个字节来判断是否是合法得图片文件....具体得对照关系。你网上找下吧
  相关解决方案