2021-03-13 13:46:34

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


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://www.renfei.net/posts/1003463
评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!


本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!

关注任霏博客
扫码关注「任霏博客」微信订阅号
微博:任霏博客网
Twitter:@renfeii
Facebook:任霏