java下载功能:从项目中下载文件

将文件下载到页面,实现文件下载功能

注意:实际开发中绝大部分情况都是将文件存储在单独的服务器,但是 也会有一些小文件可以存放在项目中,此处存放在项目目录下,其实代码大同小异,几乎无差别
直接上代码:

 @RequestMapping("/down")
    @ResponseBody
    public void down(@RequestParam String id, HttpServletResponse response) throws FileNotFoundException, UnsupportedEncodingException {
        // 下载本地文件
        String fileName = new String("文件名.docx"); // 文件的默认保存名
        // 读到流中
        InputStream inStream =this.getClass().getResourceAsStream("/static/template/文件名.docx"); // 文件的存放路径
        // 设置输出的格式
        response.setContentType("application/octet-stream");
        response.setCharacterEncoding("utf-8");
        response.addHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "utf-8"));
        // 循环取出流中的数据
        byte[] b = new byte[100];
        int len;
        try {
            while ((len = inStream.read(b)) > 0) {
                response.getOutputStream().write(b, 0, len);
            }
            inStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
发布了7 篇原创文章 · 获赞 1 · 访问量 131

猜你喜欢

转载自blog.csdn.net/qq_42663973/article/details/104046298