JAVAWEB文件下载

来源:互联网 发布:无人机与人工智能 编辑:程序博客网 时间:2024/06/07 17:27

JAVAWEB 文件下载

<body>    <!-- <a href="/prictice/domn/hibernate-release-5.0.7.Final.zip">download--ZIP</a>    <a href="/prictice/domn/love(0).png">download-PNG</a> -->    <hr/>    <a href="/prictice/servlet?filename=hibernate-release-5.0.7.Final.zip">download--ZIP</a>    <a href="/prictice/servlet?filename=love(0).png">download-PNG</a></body></html>
@WebServlet("/servlet")public class ServeltDownLoad extends HttpServlet{    /**     *      */    private static final long serialVersionUID = 1L;    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        // TODO Auto-generated method stub        String filename=req.getParameter("filename");        System.out.println(filename);        //文件类型        resp.setContentType(getServletContext().getMimeType(filename));        //设置header        resp.setHeader("Content-Disposition", "attachment;filename="+filename);        //获取绝对路径        String fullfilename = getServletContext().getRealPath("/domn/"+filename);        //构建输入输出流        InputStream in = new FileInputStream(fullfilename);        System.out.println("fullname:"+fullfilename);        OutputStream out = resp.getOutputStream();        byte[] str=new byte[2048];        int len;        while((len=in.read(str))!=-1){            out.write(str, 0, len);        }        in.close();        out.close();    }    @Override    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {        // TODO Auto-generated method stub        this.doGet(req, resp);    }   }