lbsxxa 2011-10-09 10:35
浏览 228
已采纳

客户端下载服务器端的excel模板文件,

jsp页面有个“模板下载”按钮,点击按钮后,将位于服务器端的某个文件夹下的excel模板文件打开,只用打开就可以,请求帮助怎么实现?

  • 写回答

5条回答 默认 最新

  • AngelAndAngel 2011-10-09 10:50
    关注

    对,我的示例代码大致上是这样的,你按需修改
    [code="java"]
    protected void downloadFile(String filePath, String showNam, boolean isOnLine) throws IOException{

           File f = new File(filePath);
           HttpServletResponse response = getResponse();
           if (!f.exists()) {
             response.sendError(404, "File not found!");
             return ;
           }
    
           response.reset(); //非常重要
           if (isOnLine) { //在线打开方式
             URL u = new URL("file:///" + filePath);
             response.setContentType(u.openConnection().getContentType());
             response.setHeader("Content-Disposition", "inline; filename=\""  + new String(showNam.getBytes("gb2312"),"iso-8859-1") + "\"");
            //文件名应该编码成UTF-8
           }
           else { //纯下载方式
             response.setContentType("application/x-msdownload");
             response.setHeader("Content-Disposition", "attachment; filename=\""+ new String(showNam.getBytes("gb2312"),"iso-8859-1") + "\"");
    
           }
           InputStream inStream = new FileInputStream(f);
           OutputStream outStream = response.getOutputStream();
           byte[] b = new byte[100];
           int len;
            try {
                while ((len = inStream.read(b)) > 0) outStream.write(b, 0, len);
                inStream.close();
            } catch (IOException e) {
                logger.error("file [" + f + "] download fail.");
                logger.error(e);
            } 
    
    
            outStream.flush();
            outStream.close();
    
    
    
    }
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘