当前位置:  技术问答>java相关

用servlet下载文件时,总是将文件直接显示到浏览器内,而不弹出对话框?

    来源: 互联网  发布时间:2015-11-14

    本文导语:  我拼凑出来一个下载文件用的servlet,可以编译运行,但总是将文件直接显示到浏览器中,如果是文本还好,mp3等文件都是一大堆乱码!大侠们看看问题在哪儿? 好象是response.setHeader("Content-Disposition","attachment; filename=...

我拼凑出来一个下载文件用的servlet,可以编译运行,但总是将文件直接显示到浏览器中,如果是文本还好,mp3等文件都是一大堆乱码!大侠们看看问题在哪儿?
好象是response.setHeader("Content-Disposition","attachment; filename="" + filename + """); 这一句没起作用?


package mysvt;

import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;

public class down extends HttpServlet {
  public void doGet (HttpServletRequest req,HttpServletResponse response) throws ServletException, IOException{
String filename = "06.mp3";  
   String filepath = "D:\my_dir\test\"; 
   
   // 设置响应头和下载保存的文件名 
   response.setContentType("APPLICATION/OCTET-STREAM"); 
   response.setHeader("Content-Disposition","attachment; filename="" + filename + """); 
  
  // 打开指定文件的流信息 
  File f=new File(filepath,filename);
  java.io.FileInputStream fileIn = 
   new java.io.FileInputStream(f); 
    
  // 写出流信息 
  int i; 
  ServletOutputStream sos = response.getOutputStream();
  int i_length = fileIn.available();
  byte buf_1[]=new byte[i_length];
  while(i_length>0){
    fileIn.read(buf_1);
        sos.write(buf_1);
        i_length=fileIn.available();
   }
  sos.close();
  fileIn.close();     
  }

}


|
response.setHeader("Content-Disposition", "attachment;filename="+Utilities.URLEncode(fileName));
        response.setHeader("Connection", "close");
        response.setHeader("Content-Type", "application/octet-stream");
        ServletOutputStream  sos  =  response.getOutputStream();
        FileInputStream  fis  =  new  FileInputStream(pathFileName);
        int  j;
        while((j=fis.read())!=-1)  {
            sos.write(j);
        }
        sos.close();
        fis.close();
        return;

|
Content-Disposition
改为:
Content-Type

    
 
 

您可能感兴趣的文章:

  • 在IE下执行servlet时为什么有些servlet可以正常运行,有些却提示下载文件?
  • jserv与iis集成后,怎样使jserv支持servlet?servlet的class文件应该放在哪了?急!在线等待
  • 得分套餐(32分):8。用TOMCAT时JSP表单提交信息给SERVLET处理时,“FORM ACTION=”后的SERVLET文件路径写什么?
  • 访问JSP文件或者Servlet文件时提示下载的解决方法
  • Apache Tomcat 4.0如何把源文件生成servlet的class文件?
  • 请问如何将servlet的.java文件编译成.class文件,我用了jdk的javac命令不好使阿???
  • Package javax.servlet.*在哪个.jar文件中?
  • 如何使用Servlet访问服务器上的文件夹?
  • .html文件如何调用servlet?
  • Tomcat4.0中如何编译servlet文件
  • 请问如何将.java的servlet文件编译成.class文件??我用的是weblogic,不知道怎么用?
  • 用servlet下载文件的奇怪问题
  • @@请问如何在jsp文件中调用servlet??
  • 上传文件一定要用servlet吗??
  • 各位高手:servlet如何接收采用http上传(如同Email的附件)的文件?
  • 在jbuilder7.0中怎么将外部的一个servlet也包含到发布文件web.xml中?
  • 在编译使用扩展标签的java文件时,得到package javax.servlet.jsp does not exist,package javax.servlet.jsp does not exist的错误
  • servlets 能打包成.jar文件吗?打包之后又是怎样调用呢?
  • 请教怎么用Servlet作文件上传?最好能有例子,我是新手。
  • web application 如何部署?如何配置其中的servlet文件的url?总不成功,求助高手!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • servlet使用RequestDispatcher到jsp页面,浏览器url栏还是servlet
  • 通过jsp或servlet如何记录用户关闭浏览器时的时间
  • 如果连接servlet的一个浏览器关掉了,系统会如何处理?
  • 在servlet 中如何禁止浏览器缓存某一页面?
  • 在visualAge for java3 中我也起动com.ibm.servlet->run main了,在浏览器中也运行了。可是我如何创建jsp工程呢?
  • 用servlet在后台画了一个图形,可是用jdk编译成.class文件以后,这个图形没有生成,好像是必须要在浏览器中执行这个.class文件以后才能生
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_context定义参考
  • 请问各位大虾,我在编译SERVLET时,总是找不到javax.servlet.*或者javax.servlet.http.*,需要怎么配一下。
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_response定义参考
  • 关于servlet 的编译问题,怎样设置classpth,把那些java servlet类包含到classpath?而且无法调用servlet!谢谢!
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_request定义参考
  • 写了一个servlet程序,但用javac编译时,发现javax.servlet.*,javax.servlet.http.*不存在,为什么?怎样解决?
  • java Servlet获取和设置cookie实例代码
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • java Servlet实现Session创建存取以及url重写代码示例
  • 我想apple传object给servlet同时也打开servlet页,显示servlet的内容
  • import javax.servlet.http.*;后,怎么提示package javax.servlet.http does not exist?我的classpath中已添加了tomcat/lib/servlet.jar!
  • 请问为什么我的servlet程序,在编译时总是会出现包javax.servlert和包javax.servlet.http不存在的错误,我在环境变量classpath种已经登记了servlet.jar的位置了。如何解决?
  • 编译 servlet 时,老提示 .....javax.servlet 不存在,为何 ???
  • jsp/servlet配置的小问题,如何添加servlet包
  • 包 javax.servlet ,javax.servlet.http 不存在,原因?解决办法?谢了!
  • servlet快在哪里?(什么时候用servlet好?)
  • 当多个请求同一个servlet时,servlet的生命周期是怎样的?
  • 一个Servlet如何在调用另一个Servlet时将自身的HttpServletRequest传递进去?
  • 急等用,现给分!servlet和servlet之间的通讯如何实现,最好有源代码,谢谢
  • 遍了一个简单的servlet,编译时提示:package javax.servlet does not exist!
  • 谁能解释一下如何使用javax.servlet.Filter 和javax.servlet.FilterChain!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3