• 技术文章 >java >java下载

    java中Servlet程序下载文件

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

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

    1、说明

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

    2、使用servlet程序下载

    //得到需要下载的文件
    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学习网