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

指尖上的程序员 2012-03-27 02:50:40

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格式的。下载的到的这个文件里的数据是正确的。
请问,如何保证数据在页面上显示正确呢?

流学的太菜。各位大侠见笑了。
...全文
121 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
不懂游走 2012-03-27
  • 打赏
  • 举报
回复
如果是图片的话,可以写个servlet,将它的输出流作为图片的src,实现类似于图片验证码
如果存的不是图片,我就没有实践过啦
  • 打赏
  • 举报
回复
有人能回答我吗?
拜托了,各位。
  • 打赏
  • 举报
回复
比如图片有IMG标签
  • 打赏
  • 举报
回复
用什么容器去显示里面的数据呢?
cynthia111111 2012-03-27
  • 打赏
  • 举报
回复
1、你可以把流给保存成一个文件。然后在页面上显示路径。
2、可以直接用servlet直接输出...跟验证码那样
  • 打赏
  • 举报
回复
对了 我现在存的是RTF格式的,请问怎么显示到页面上呢?
cynthia111111 2012-03-27
  • 打赏
  • 举报
回复
你可以拿取文件得前几个字节来判断是否是合法得图片文件....具体得对照关系。你网上找下吧
  • 打赏
  • 举报
回复
谢谢啊,这里面有图片 也有可能没有图片。
怎么弄才好呢?

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧