用JSP做了一个文件列表下载 点击下载没有反应 而另存就可以?不是IE问题 我TT试过 IE试过 

解决方案 »

  1.   

    response.setHeader
    response.setContentType
    都设置了吗
      

  2.   

    没有设置~但我在eclipse 运行就有对话框出来 叫你另存还是打开~!
    麻烦看看是什么问题,我的代码如下:
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.io.*"  %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    File myfile=new File("D:/upload/");
    String[]FileNames=myfile.list();
         %>  <table width="600" border="1" align="center"cellpadding="0" cellspacing="0"     bordercolorlight="#EBEBEB"   bordercolordark="#FFFFFF">
        <tr>
          <td><div align="center">文件名</div></td>
          <td><div align="center">下载 </div></td>
        </tr>
       <%for(int i=0;i<FileNames.length;i++)
        {
        %>
        <tr>
          <td><div align="center"><%=FileNames[i]%></div></td>
          <td><div align="center"><A href="D:/upload/<%=FileNames[i]%>">下载</a></div></td>
        </tr>
         <%
         }
        %>
      </table></body>
    </html>
      

  3.   

    <A href="D:/upload/ <%=FileNames[i]%> ">改成
    <A href="file://D:/upload/ <%=FileNames[i]%> ">
    试试
      

  4.   

    还是不行~是不是用<a href>连接不能直接下载 的?是否也连接到另外一个下载(jspmartupload)页面?
    但是用jspmartupload做的中文文件名是乱码!
    真是的烦~!!!
      

  5.   

    兄弟这个问题,很多人都遇到,下面的代码可以解决 String URLfileName=(String)request.getParameter("downloadPath");
    //  更改打开方式
    if(URLfileName!=null){
    // 新建一个SmartUpload对象
            SmartUpload sud = new SmartUpload();
            // 初始化        
             javax.servlet.ServletConfig config=this.getServlet().getServletConfig();
             sud.initialize(config,request,response);            
           
               sud.setContentDisposition(null);
           ////下载文件
          try{
          sud.downloadFile(URLfileName);
          }catch(SmartUploadException e){
          System.out.println(e.getMessage());
          }
    }
      

  6.   

    你需要在web.xml文件中配置以下信息
    <mime-mapping>
       <extension>rar</extension> 
      <mime-type>application/rar</mime-type>    
      </mime-mapping>
    <mime-mapping>
       <extension>zip</extension> 
      <mime-type>application/zip</mime-type>    
      </mime-mapping>
    <mime-mapping>
       <extension>iso</extension> 
      <mime-type>application/iso</mime-type>    
      </mime-mapping>
    <mime-mapping>
       <extension>doc</extension> 
      <mime-type>application/msword</mime-type>    
      </mime-mapping>
    <mime-mapping>
       <extension>xls</extension> 
      <mime-type>application/msexcel</mime-type>    
      </mime-mapping>
    <mime-mapping>
       <extension>pdf</extension> 
      <mime-type>application/pdf</mime-type>    
      </mime-mapping>
    <mime-mapping>
       <extension>txt</extension> 
      <mime-type>text/plain</mime-type>    
      </mime-mapping>
      

  7.   

    有问题啦:Multiple annotations found at this line:
    - 对变量 config 的赋值不生效
    - 局部变量 config 重复
      

  8.   

    有问题啦:Multiple annotations found at this line: 
            - 对变量 config 的赋值不生效 
            - 局部变量 config 重复
            Multiple annotations found at this line:
    - 没有为类型 __2F_zxnet_2F_zxnet_2F_admin_2F_download_2E_jsp 定义方法 
     getServlet()
    - 对变量 config 的赋值不生效
      

  9.   

    一下是我曾经用过的某个方法的源码,你拿过去用用看,需要在外面定义的定义一下,需要引入的包引入一下,代码肯定没有问题,我正用呢!只是有些细节可能需要处理,因为我是从一个类中直接截取的一个方法!
    另外这个是解决打开的时候乱码的问题。关于直接点击不能下载的解决方法是这样:
    <a href="<%=downloadUrl%>" onclick="javascript:download()" class="Alink"><%=file_name%></a>
    <%=downloadUrl%>是下载文件的相对路径,
    而javascript:download()将会调用下面的方法,解决直接打开的问题!

        public ActionForward chxxDownload(ActionMapping mapping,ActionForm form,
                HttpServletRequest request,HttpServletResponse response)throws Exception{
    String URLfileName=(String)request.getParameter("downloadPath");
    //  更改打开方式
    if(URLfileName!=null){
    // 新建一个SmartUpload对象
            SmartUpload sud = new SmartUpload();
            // 初始化        
             javax.servlet.ServletConfig config=this.getServlet().getServletConfig();
             sud.initialize(config,request,response);            
           //设定contentDisposition为null以禁止浏览器自动打开文件,
           //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
           //doc时,浏览器将自动用word打开它。扩展名为pdf时,
           //浏览器将用acrobat打开。
               sud.setContentDisposition(null);
           ////下载文件
          try{
          sud.downloadFile(URLfileName);
          }catch(SmartUploadException e){
          System.out.println(e.getMessage());
          }
    }
    return null;

    }
    ////////////////////////////////add by fengzhi end///