• 技术文章 >java >java下载

    java中Servlet程序下载文件

    小妮浅浅小妮浅浅2021-02-18 17:03:09原创5761

    对于一些普通的文件下载,想必大家都会去点击默认的链接进行资料获取。效率慢是一个方面,有时候下载的过程并不顺序。在学习了python中的一些程序后,我们可以选择使用Servlet进行文件的下载。下面我们先就Servlet进行简单的说明,然后带来有关的下载文件代码实例。

    1、说明

    Servlet是Sun公司开发的用于交互式地浏览和生成数据,生成动态Web的技术。狭义的Servlet是指Java语言实现的一个接口。但一般情况下,我们把实现了Servlet接口的Java程序叫做Servlet

    2、使用servlet程序下载

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    //得到需要下载的文件

    String path = this.getServletContext().getRealPath("/upload/9/1/图片1.png");

    File file = new File(path);

    //读取服务器本地的文件

    FileInputStream in = new FileInputStream(file);

    /**

     * 处理URL编码问题

     */

    String fileName = file.getName();

    //对文件名进行URl编码

    fileName = URLEncoder.encode(fileName, "utf-8");

    //判断不同浏览器

    String userAgent = request.getHeader("user-agent");

    String filefix = null;

    if(userAgent.contains("Trident")){

    //IE

    filefix = "filename="+fileName;

    }else if(userAgent.contains("Firefox")){

    //Firefox

    filefix = "filename*="+fileName;

    }else{

    filefix = "filename="+fileName;

    }

    //告诉浏览器以下载方式打开资源

    response.setHeader("Content-Disposition", "attachment;"+filefix);

    //把本地文件发送给浏览器

    byte[] buf = new byte[1024];

    int len = 0;

    while( (len=in.read(buf))!=-1 ){

    response.getOutputStream().write(buf, 0, len);

    }

    //关闭

    in.close();

    以上就是java中Servlet程序下载文件的方法,大家可以先就Servlet程序做一些基本的了解,然后就代码部分下载一个文件进行试验。更多Java学习指路:java下载

    专题推荐:java,servlet程序
    上一篇:如何在java中压缩文件并下载? 下一篇:java如何使用FTP下载

    相关文章推荐

    • java中ThreadLocal的应用场景分析• java数组中的异常有哪些?• 如何在java中压缩文件并下载?• java中创建对象的步骤有哪些?• java中内存模型是什么?有什么用?• java数组和容器的关系探究

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网