JSP实现点击链接后下载文件(相当于右键另存)功能

[code="java"]
/** *//**  


     * 实现文件另存功能  


     *   


     * @param text  


     *            文件内容  


     * @param fileName  


     *            文件名称  


     * @return  


     */  


    protected String renderFile(String text, String fileName)   



            throws IOException   



    {   


        response.addHeader("Content-Disposition", "attachment; filename="  



                + fileName);   


        response.setContentType("application/octet-stream");   



        response.setCharacterEncoding("GB2312");   



        response.getWriter().write(text);   


        response.flushBuffer();   


        response.getWriter().close();   


        return null;   



    }  

 
下载的action:

/** *//**  


     * 提供下载的方法  


     * @return  


     */  


    public String down()   



    {   


        String dir = getFullPath() + "/upload/file/";   



        try  



        {   


            if (!FileUtils.exists(dir))   



            {   


                new File(dir).mkdirs();   



            }   


            Random r = new Random(System.currentTimeMillis());   



            Integer randomInt = r.nextInt();   


            this.renderFile("test content:" + randomInt,randomInt + ".txt");   



        }   


        catch (IOException e)   



        {   


            e.printStackTrace();   


            this.renderText(e.getMessage());   



        }   


        return null;   



    }  

 
页面链接调用:
"${ctx}/va/va!down.do" >下载  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值