RSS
热门关键字:  数据挖掘  数据仓库  商业智能  人工智能  搜索引擎

关于 response.setContentType的设置问题

来源: 作者: 时间:2008-01-02 点击:

本文由网龙AE产品自动生成 数据挖掘实验室

<%@   page   language="java"   contentType="application/msword;   charset=GB2312"
        pageEncoding="GB2312"%>
<meta   http-equiv="Content-Type"   content="application/msword;   charset=GB2312">
我在网页中加了上面这两行,这样可以将网页转换为word文档,并供在客户端下载此word文档。
下面是我从数据库中取出此图像
try   {  
        while(rs.next())   {  
            response.setContentType("image/jpeg");   //设置返回的文件类型  

                ServletOutputStream   sout   =   response.getOutputStream();   //声明ServletOutputStream的实例sout
                InputStream   in   =   rs.getBinaryStream(2);   //获取二进制输入流 数据挖掘研究院
                byte   b[]   =   new   byte[0x7a120];//   创建byte数组用作缓冲
                for(int   i   =   in.read(b);   i   !=   -1;)  
                        {  
                                sout.write(b);   //输出图像
                           
                        }  
                        sout.flush();  
                        sout.close();  


                        }  
                        }  
            catch(Exception   e){System.out.println(e);}  
结果在浏览器中浏览时并不生成一个word文档,而是直接是jsp是网页,图像显示在网页上,可能是response.setContentType("image/jpeg");这一句设置了使得网页不能生成word文档。
response.setContentType("image/jpeg");这句删去就可以生成word文档了,但文档中没有图片,也就是说不能生成图片了。
请问如何设置才既可以转换成word,又可以生成图片啊?
谢谢!

response.setContentType("image/jpeg");       是设置返回文件的类型,你应该用response.setContentType("application/vnd.ms-word");     至于你说的图片,我理解是这样:你将图片从数据库里以二进制读出,然后输出到word中,我没有做过,但我认为应该是在输出是处理,以前用过将图片以二进制读出的,忘记了,你查查吧,不是用response.setContentType("image/jpeg")来设置的,好像就是对二进制做了一个什么转换就可以了  

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?