Java 实现文件下载

    public void downloadArticle(String folderPath, String articleName, HttpServletResponse response) {
        FileInputStream inputStream = null;
        OutputStream out = null;
        try {
            response.reset();
            response.setContentType("application/force-download");
            // 支持中文名称文件,需要对header进行单独设置,不然下载的文件名会出现乱码或者无法显示的情况
            // 设置响应头,控制浏览器下载该文件
            response.setHeader("Content-Disposition", "attachment;filename=" + UUIDUtils.getUUID() +".pdf");
            //通过文件路径获得File对象
            File file = new File(filePath + folderPath+"/"+articleName+".pdf");
            inputStream = new FileInputStream(file);
            //通过response获取ServletOutputStream对象(out)
            out = response.getOutputStream();
            int length = 0;
            byte[] buffer = new byte[1024];
            while ((length = inputStream.read(buffer)) != -1) {
                //4.写到输出流(out)中
                out.write(buffer, 0, length);
            }
            inputStream.close();
            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

你可能感兴趣的:(学习记录,java)