关于从Linux服务器下载Excel文件的问题

本地下载文件可以,可是把代码放到Linux服务器下载下来的是jsp页面内容,下载的Excel文件中的内容则是jsp中展示的内容

相关代码

<%

 response.setCharacterEncoding("gb2312");      
 request.setCharacterEncoding("utf-8");      
 
 if (request.getParameter("file") != null) {      
     OutputStream os = null;      
     FileInputStream fis = null;      
    try {      
         String file = request.getParameter("file");  
         String dateStr = request.getParameter("targetDate");
         //重新拼接符合要求的文件名
         file = file+dateStr.replace("/", "")+".xls";
         if (!(new File(file)).exists()) {      
            System.out.println("没有文件"); 
            response.getWriter().write("您要下载的文件不存在!");
            response.setHeader("Refresh", "2");
            return;      
         }
         System.out.println("文件名为:"+file);      
         os = response.getOutputStream(); 
         
         response.setHeader("content-disposition", "attachment;filename=" + new String(file.getBytes("gb2312"),"ISO8859-1" ));      
         response.setContentType("application/vnd.ms-excel");//此项内容随文件类型而异      
         byte temp[] = new byte[4 * 1024];      
         fis = new FileInputStream(file);      
         int n = 0;      
         while ((n = fis.read(temp)) != -1) {      
             os.write(temp, 0, n);      
         }      
     } catch (Exception e) {      
         out.print("出错");      
     } finally {      
        if (os != null)      
           os.close();      
        if (fis != null)      
            fis.close();      
     }      
     out.clear();      
     out = pageContext.pushBody();      
 
 }   

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进