• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    jsp文件下载功能实现代码

    本文实例为大家分享了jsp实现文件下载功能的3种方法,供大家参考,具体内容如下

    第一种、采用转发的方式:

    package cn.jbit.download.servlet; 
     
    import java.io.IOException; 
     
    import javax.servlet.RequestDispatcher; 
    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
     
    public class DownloadServlet extends HttpServlet { 
     
      private static final long serialVersionUID = 6765085208899952414L; 
     
      public void doGet(HttpServletRequest request, HttpServletResponse response) 
          throws ServletException, IOException { 
        doPost(request, response); 
      } 
     
      public void doPost(HttpServletRequest request, HttpServletResponse response) 
          throws ServletException, IOException { 
        String filedownload = "/upload/1/10213.jpg";//即将下载的文件的相对路径 
        String filedisplay = "10213.jpg";//下载文件时显示的文件保存名称 
        response.setContentType("application/x-download");//设置为下载application/x-download 
        //response.setContentType("application/x-msdownload");//设置为下载application/x-msdownload 
        //response.setContentType("application/octet-stream");//设置为下载application/octet-stream 
        response.addHeader("Content-Disposition", "attachment;filename=" 
            + filedisplay); 
         
        try { 
          RequestDispatcher rd = request.getRequestDispatcher(filedownload); 
          if(rd != null) 
          { 
            rd.forward(request,response); 
          } 
          response.flushBuffer(); 
        } catch (Exception e) { 
          e.printStackTrace(); 
        } 
      } 
    } 
    

    二、通过输出流的方式:

    package cn.jbit.download.servlet; 
     
    import java.io.BufferedInputStream; 
    import java.io.BufferedOutputStream; 
    import java.io.File; 
    import java.io.FileInputStream; 
    import java.io.IOException; 
    import java.io.InputStream; 
    import java.io.OutputStream; 
     
    import javax.servlet.ServletException; 
    import javax.servlet.http.HttpServlet; 
    import javax.servlet.http.HttpServletRequest; 
    import javax.servlet.http.HttpServletResponse; 
     
    public class DownloadOfIOServlet extends HttpServlet { 
     public void doGet(HttpServletRequest request, HttpServletResponse response) 
          throws ServletException, IOException { 
        doPost(request, response); 
      } 
       
      public void doPost(HttpServletRequest request, HttpServletResponse response) 
          throws ServletException, IOException { 
        String basePath = request.getSession().getServletContext().getRealPath("/upload"); 
     
        String filedisplay = "helloworld.jpg"; 
        String filedownload = basePath + File.separator + "helloworld.jpg"; 
        response.setContentType("applicaiton/x-download"); 
        response.addHeader("Content-Disposition", "attachment;filename="+filedisplay); 
         
        InputStream is = null; 
        OutputStream os = null; 
        BufferedInputStream bis = null; 
        BufferedOutputStream bos = null; 
         
        is = new FileInputStream(new File(filedownload)); 
        bis = new BufferedInputStream(is); 
        os = response.getOutputStream(); 
        bos = new BufferedOutputStream(os); 
         
        byte[] b = new byte[1024]; 
        int len = 0; 
        while((len = bis.read(b)) != -1){ 
          bos.write(b,0,len); 
        } 
         
        bis.close(); 
        is.close(); 
        bos.close(); 
        os.close(); 
      } 
    } 
    
    
    

    第三种、通过超链接的方式(注意不推荐,因为会暴露下载文件的位置)

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • vue实现在线预览pdf文件和下载(pdf.js)
    • 使用 JavaScript 创建并下载文件(模拟点击)
    • js使用文件流下载csv文件的实现方法
    • 通过JavaScript下载文件到本地的方法(单文件)
    • Node.js 使用request模块下载文件的实例
    • JS实现百度网盘任意文件强制下载功能
    • Jsp+Servlet实现文件上传下载 文件上传(一)
    • JSP servlet实现文件上传下载和删除
    • JavaScript实现文件下载并重命名代码实例
    上一篇:Properties 持久的属性集的实例详解
    下一篇:Spring依赖注入的三种方式实例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    jsp文件下载功能实现代码 jsp,文件下载,功能,实现,