feign 远程调用oss文件上传时,error 提示:未获取到对应的对象存储配置

Blade 未结 2 382
xierui118
xierui118 剑者 2024-04-15 16:57

一、该问题的重现步骤是什么?

1. 在smsClient 参照短信发送接口,写了文件上传的远程调用接口,执行到ossBuilder.template()时提示异常 未获取到对应的对象存储配置

2. OssEndpoint 类中的/put-file接口可以正常使用。

3.


二、你期待的结果是什么?实际看到的又是什么?

我需要在其他模块调用文件上传接口


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

4.0版本的cloud 产品。win10系统

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

feign接口声明:image.png

feign 接口实现:image.png


feign接口调用:image.png


通过debug 能够看到报错是发生在,feign 接口实现的OssTemplate oss = ossBuilder.template();这行代码,提示未获取到对应的对象存储配置



2条回答
  • 2024-04-15 17:18

    刚才debug了一下,发现是获取账户号为空导致的,那么远程调用需要用到图片上传功能这个问题如何解决image.png

    作者追问:2024-04-15 17:20

    在后台无需使用feign调用来上传,直接在controller或者service层注入OssTemplate来直接调用。

    这样不仅简单,还省去了多中转一次http的调用,提升了性能。

    回答: 2024-04-15 17:41

    image.png

    使用OssTemplate会导致启动报错

    报错信息:


    ***************************

    APPLICATION FAILED TO START

    ***************************


    Description:


    Parameter 1 of constructor in org.springblade.desk.controller.GroupChatController required a bean of type 'org.springblade.core.oss.OssTemplate' that could not be found.



    Action:


    Consider defining a bean of type 'org.springblade.core.oss.OssTemplate' in your configuration.



    回答: 2024-04-15 17:56

    已经配置好阿里云的oss了,需要在其他模块调用,应该如何注入?看了那个文档没有太明白

    作者追问:2024-04-15 18:07

    需要哪个oss就注入对应的Template,注入后调用template.putFile就可以进行文件上传。


    比如你要阿里云的oss,就注入AliossTemplate,然后再调用其api操作


    回答: 2024-04-15 18:25

    还是和刚才一样,在启动时就报错

    image.png

    0 讨论(0)
  • 重新写个方法,把租户id传进来

    作者追问:2024-04-16 16:11

    注入 private AliossTemplate aliyunOssTemplate; 会导致程序启动报错;
    报错信息:
    Description:
    
    Parameter 1 of constructor in org.springblade.desk.controller.GroupChatController required a bean of type 'org.springblade.core.oss.AliossTemplate' that could not be found.
    
    
    Action:
    
    Consider defining a bean of type 'org.springblade.core.oss.AliossTemplate' in your configuration.
    
    目前feign 方法可以调用,还是想采用AliossTemplate 注入的方式实现



    0 讨论(0)
提交回复