进入傍晚了,不想去散散步吗?
登录注册
2021-03-13 05:46:34

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);
        }
    }
}

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

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

评论与留言

以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。
本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!
微信订阅号
扫码关注「任霏博客」微信订阅号
反馈与讨论
感谢您的关注与反馈
如果您发现了BUG、安全漏洞、或者希望讨论技术内容,请点击下方链接对我进行反馈。
feedback