夜已深,注意休息哦!

编程开发

Spring Boot 在 Jar 包中使用 getInputStream 获取文件流的验证

2021年03月13日 13:46:34 · 本文共 786 字阅读时间约 2分钟 · 4,041 次浏览
Spring Boot 在 Jar 包中使用 getInputStream 获取文件流的验证

我之前写了一篇《SpringBoot项目打包成jar后读取文件的大坑,使用ClassPathResource获取classpath下文件失败》,发表在了我的博客和 CSDN 上。

很久没登陆 CSDN 了,今天登陆进来发现两个网友的留言,都说是用我的方式 亲测,获取不到。

那我就亲自再运行一遍,写个 Demo,亲自验证一下到底能不能使用 getInputStream 获取 Jar 包里的文件。

关键代码如下,获取整体项目请移步:https://github.com/renfei/demo/tree/master/spring/jar-read-file

@RequestMapping("/")
public void getImageTest(HttpServletResponse response) throws IOException {
    ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
    Resource[] resources = resolver.getResources("image/WX20210312-225547.png");
    Resource resource = resources[0];
    try (InputStream input = resource.getInputStream()) {
        response.setContentType("image/png");
        int len = 0;
        byte[] buffer = new byte[1024];
        while ((len = input.read(buffer)) != -1) {
            System.out.println("读取流,写入response输出流");
            response.getOutputStream().write(buffer, 0, len);
        }
    }
}

各大视频平台我也开通了哦,我为了证明这个方法可行有效,录屏测试了全过程:

微信视频号、抖音、西瓜视频等懒得贴链接了。

商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1003463
评论与留言

以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

微信搜一搜:任霏博客