做網(wǎng)站的軟件 簡(jiǎn)單易學(xué)今日特大新聞新事
場(chǎng)景是我將后端服務(wù)從121.xxx.xxx.xxx服務(wù)器上轉(zhuǎn)移到了另一臺(tái)服務(wù)器10.xxx.xxx.xxx
但圖片都還在121.xxx.xxx.xxx服務(wù)器上,同樣我10.xxx.xxx.xxx也安裝了minio并且我的后端服務(wù)配置的minio地址也是10.xxx.xxx.xxx?
此時(shí)有一個(gè)業(yè)務(wù)通過(guò)minio客戶端獲取圖片(getObject方法),url是121.xxx.xxx.xxx的圖片。然后就報(bào)出了
Object name contains unsupported characters.
?然后我追蹤源碼發(fā)現(xiàn)minio生成的url是錯(cuò)誤的
正常應(yīng)該是:
解決方法:
?1、直接通過(guò)網(wǎng)絡(luò)訪問(wèn)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、根據(jù)url動(dòng)態(tài)初始化客戶端實(shí)例
我采用了第一種方法,第二種只需要通過(guò)url獲取到ip信息,再通過(guò)獲取到的信息查詢對(duì)應(yīng)的配置記錄即可。
?