Feign调用预览图片

这篇博客介绍了如何在面临文件服务保存在MongoDB中且难以修改的情况下,通过Feign调用来实现图片的预览功能。主要步骤包括:使用Feign调用文件服务获取Response对象,将Response的输出流封装并返回给前台,前台接收到二进制文件后转化为Blob进行图片预览。文中给出了关键代码示例。
摘要由CSDN通过智能技术生成

我先说下背景,我们这边有个平台组,文件服务就是平台组的服务。文件服务包括文件上传下载功能,服务的文件是保存在mongodb中。(注:平台组的代码很难改动,我只有自己想办法解决问题!)

实现图片预览的思路是这样的:

  1. Feign调用文件服务的,获取feign.Response 对象。
  2. 将获取Feign.Response对象的输出流,封装一层,返回给前台。
  3. 前台通过接收到二进制文件通过Blob转化,就可直接预览图片。

具体的个步骤的关键代码如下:

1. 文件服务文件下载接口,代码如下: 

@RequestMapping(value = "/downloadFile")
    public void downloadFile(@RequestParam(name = "file_id") String fileId, HttpServletRequest request, HttpServletResponse response) throws Exception {
        Query query = Query.query(Criteria.where("_id").is(fileId));
        // 查询单个文件
        GridFSDBFile gfsfile = gridFsTemplate.findOne(query);
        if (gfsfile == null) {
            return;
        }
        String fileName = gfsfile.getFilename()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不安分的猿人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值