获取阿里云OSS图片url的InputStream输入流403
最近在做百度ocr图片识别的需求,需要把oss中图片的url转成base64后调用百度ocr的接口,在url转换base64中报错403,发现有些图片正常,有些不正常;在debug中发现postmain传的url和后端接收到的url不一致,是在传输过url自动转义了,经过转义后可能会把oss url上的秘钥解析错误。所以将url反编译后不在报403
public static String urlEncoder(String urlPath){
// 解码URL
try {
String[] parts = urlPath.split("Signature=");
if (parts.length == 2) {
String decodedSignature = URLEncoder.encode(parts[1], StandardCharsets.UTF_8.toString());
// 重新拼接URL
urlPath = parts[0] + "Signature=" + decodedSignature;
return urlPath;
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
参考这篇文章:https://blog.csdn.net/zyw0101/article/details/81188084