733~734 Servletcontext功能获取文件服务器 AND 文件下载分析

3.获取文件的真实(服务器)路径
  1. 方法:String getRealPath(String path)  
                 String b = context.getRealPath("/b.txt");//web目录下资源访问
                 System.out.println(b);
        
                String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问
                System.out.println(c);
        
                String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问
                System.out.println(a);

案例:

文件下载需求

  1.页面显示超链接

  2.点击超链接后弹出下载提示框  

  3.完成图片文件下载

 

分析:

  1.超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框不满足需求

  2.任何资源必须弹出下载提示框

  3.使用响应头设置资源打开方式

    content-disposition:attachment;filename=xxx

 

步骤:
  1. 定义页面,编辑超链接href属性,指向Servlet,传递资源名称filename
  2. 定义Servlet
    1. 获取文件名称
    2. 使用字节输入流加载文件进内存
    3. 指定response的响应头: content-disposition:attachment;filename=xxx
    4. 将数据写出到response输出流

posted @ 2023-02-10 16:19  ja不会va  阅读(22)  评论(0)    收藏  举报