借楼主的宝地用一下。
怎么让图片直接在页面中显示,而不出现下载保存的提示呢? 
我是从数据库中读取出图片的数据
主要代码如下:
InputStream in= blob.getBinaryStream();
response.reset();
byte[] b2 = new byte[1024];
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment;filename=HHHHH"  );

int len;
ServletOutputStream sos = response.getOutputStream();
while((len=in.read(b2)) >0)
sos.write(b2,0,len);
in.close();
sos.close();
请问大侠们怎么办啊???

解决方案 »

  1.   

    上面的两个问题有一定关联性啊
    对于第一个问题,要实现下载文件而非直接显示,必须通过servlet中的response对象输出才可以,直接写url是不行的,楼主可以参考第二个问题中的servlet的写法写出自己的servlet,接收页面中传过来的file Id,然后设置response输出就可以了,至于jsp文件中的URL应该这样写:
    <a href="/DownloadFile?fileId=xxx">download</a>
    它的作用是向DownloadFile这个Servlet发出要下载文件的id,从而下载文件,Servlet中用
    request.getParameter("xxx");接受文件id,输出这个文件就可以了对于第二个问题,
    response设置不对,应该是
    response.setContentType("image/*");
      

  2.   

    String fileId = request.getParameter("fileId");

    response.setContentType("APPLICATION/OCTET-STREAM");
    response.setHeader("Content-Disposition", "attachment;filename=" + fileId);对话框是出来了,fileId   print 出来后传递的也是正确的值,但是下载下来的是本页面的htm,而不是需要的csv文件。