场景是我将后端服务从121.xxx.xxx.xxx服务器上转移到了另一台服务器10.xxx.xxx.xxx
但图片都还在121.xxx.xxx.xxx服务器上,同样我10.xxx.xxx.xxx也安装了minio并且我的后端服务配置的minio地址也是10.xxx.xxx.xxx
此时有一个业务通过minio客户端获取图片(getObject方法),url是121.xxx.xxx.xxx的图片。然后就报出了
Object name contains unsupported characters.
然后我追踪源码发现minio生成的url是错误的

正常应该是:

解决方法:
1、直接通过网络访问url
SysOssVo oss = ossService.getById(ossId);
String url = oss.getUrl();
URL url1 = new URL(url);
URLConnection connection = url1.openConnection();
//获取图片输入流
InputStream inputStream = connection.getInputStream();
//....
inputStream.close();
2、根据url动态初始化客户端实例
我采用了第一种方法,第二种只需要通过url获取到ip信息,再通过获取到的信息查询对应的配置记录即可。





![P8802 [蓝桥杯 2022 国 B] 出差](https://img-blog.csdnimg.cn/direct/4157ac08b3f7450b8f60cb6c052e5874.png)

![正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.4讲--ARM异常中断返回](https://img-blog.csdnimg.cn/direct/0464f07e914f4adca2e06c08fd887d7e.png)










