一、该问题的重现步骤是什么?
自定义minio存储文件的路径不生效,断点也进不去,我改的位置不对吗?
源码文件路径:org.springblade.resource.builder.oss.OssBuilder
上图两个都是用的CustomOssRule
二、你期待的结果是什么?实际看到的又是什么?
我需要自定义文件存储的路径,因为我们的项目每天的图片量太大,10W张以上,需要更详细的路径分类
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
windows 10 , bladex 2.7.0,
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
除了改红框内的自定义Rule外,还需要定义一个bean覆盖默认的OssRule
这样定义对不对?还是没有生效
原版的定义在这个类
如果要覆盖的话,需要自己新建一个config类,写上你自己的类实例化,并且把你的config设置order为最高等级,或者在config类加上注解 @AutoConfigureBefore(OssConfiguration.class) 让他比OssConfiguration更早实例化就可以了
写好后在OssConfiguration与自定义的Config类打断点,看看程序会走到哪一步,再到后面进行下一步操作
貌似还是不行,bean初始化的时候走的是我定义的CustomOssRule,OssConfiguration没有执行,但是最终结果并不是我写的路径规则,项目已重新编译
到oss类打断点看看Rule的bean是哪个,然后再对putFile方法内的getFileName进行断点调试,一步一步查原因。梳理完整个流程,就问题自然就好解决了
下面这个断点,不管是启动项目还是上传文件都进不来,哎,姿势不对么?我上传操作和bladex服务是两台电脑
我不知道这到底有哪里难的,你是不是自己改过了源码,还改动了其他的地方。整个调用链的断点见下图,可以清楚的看到,全程都是自定义的customRule,并且返回的路径也是自己重新定义的,带了一个test目录。
以上为改动断点调试所展现的调用流程,以下为整个改动包含的三处代码,除此之外没有别的了。你再好好看一遍,如果不行就下载原生的bladex,根据我的改动以及断点走一遍看看。把整个流程都理顺了,问题自然就简单了
我找到问题了,我之前写的其实也是对的,只是我用的postman调用的,应该是少了什么参数,网页上测试没问题
在线等解答
扫一扫访问 Blade技术社区 移动端