用window.open(url)的方式下载文件,在本地可以,部署到服务器上之后 弹出窗口却一闪而过,用loaction=url可以导出但是却覆盖了当前页面,现在想实现1。用window.open导出或者window.loaction=url的时候不用覆盖当前页面。
window.loaction.target="_blank"那是不可能的

解决方案 »

  1.   

    是否可以考虑创建个iframe来实现文件下载呢。
      

  2.   

    最好是写个download的servlet去搞下比较好。
      

  3.   

    写个servlet或者jsp来搞吧,超链接的方法问题百出不安全,而且路径里含中文的话还得乱搞。。给你个jsp代码,就几句话
    <%@ page contentType="text/html; charset=GBK"%>
    <jsp:directive.page import="com.jspsmart.upload.SmartUpload"/>
    <%
    String filePath=this.getServletContext().getRealPath("文件相对路径");
    try{
    SmartUpload su=new SmartUpload();
    su.initialize(pageContext);
    //如果不需要在浏览器中直接打开则setContentDisposition为null则会弹出下载对话框
    //su.setContentDisposition(null);
    su.downloadFile(filePath);
    }catch(Exception ex){
    //如果服务器模板文件丢失则重定向到提示页面
    response.sendRedirect(request.getContextPath()+"/noFile.jsp");
    }finally{
    out.clear();
    out = pageContext.pushBody(); 
    }
    %>