Java实现文件下载

Java实现文件下载

     @GetMapping("/getFile")
    public Boolean getFile(HttpServletResponse response) throws IOException {
        //文件路径
        final String filePath = "E:/test.log";
        String uuid = UUID.randomUUID().toString() + ".log";
        // 设置响应头和客户端保存文件名
        response.setCharacterEncoding("utf-8");
        response.setContentType("multipart/form-data");
        response.setHeader("Content-Disposition",
            "attachment;fileName=" + new String(uuid.getBytes("UTF-8"), "iso-8859-1"));
        // 打开本地文件流
        InputStream inputStream = new FileInputStream(filePath);
        // 激活下载操作
        OutputStream os = response.getOutputStream();
        try {
            // 循环写入输出流 10KB
            byte[] b = new byte[10 * 1024 * 8];
            int length;
            while ((length = inputStream.read(b)) > 0) {
                os.write(b, 0, length);
                os.flush();
            }
            return true;
        } catch (Exception e) {
            throw e;
        } finally {
            os.close();
            inputStream.close();
        }

    }
posted @ 2019-12-16 11:06  smileLS66  阅读(52)  评论(0编辑  收藏  举报