根据URL获取图片
背景:今天因为生产环境的系统界面图片无法显示被领导叼了一波,之前用hutool工具类解析url获取图片的,在生产环境上跑了一个多月都正常,嘣,今天突然发现周六下午后的图片统统显示异常,之后改为用java原始httpconnection的方式解析url获取图片ok。
简单的说下项目的业务逻辑&我当事人的想法:
1、首先,这个url图片地址是项目上游合作伙伴通过消息队列发送给我的,然后我再把url转为base64,接着把转好的base64上传到一个文件存储服务器中,这时可以通过key和object的组合从文件服务器中下载以上传的图片,然后就利用websocket推送key和object的值给前端请求展示图片;
2、为什么我要用hutool工具类呢?因为用它把url转换为base64就一行代码搞定,两行算我输;
3、为什么之前用hutoo可以,过了一个多月就突然凉凉了呢?这也是我蛋疼的地方,为了保密一些,下面url部分是假的;
之前合作伙伴给我提供的url格式如:image_url:https://xxxxxx.com:666/xxxxxxxx/xxxx/xxpic/xxxxxxxxxx
如今合作伙伴给我提供的url格式如:image_url:https://xxxxxx.com:666/xxxxxxxx/xxxx/xxpic/xxxxxxxxxx?awsaccesskeyid=xxxxx&expires=xxxx&signature=xxxxx
小老弟们一看就知道现在的url增加了签名和失效时间等信息,然后我那hutool就玩不动了(求大神指导)。
4、虽然上游的合作伙伴没有提前告知我他们给我的url格式内容变了,但这也不能怪他们,因为他们提供的这个地址在浏览器中访问的的确确可以得到一串base64字节码,并且这串base64也可以在浏览器正常转化为图片显示,最重要的是用httpconnection解析该url结果也ok,那么八成就是我代码的问题了;
5、虽然这个问题算是我的锅,但是被痛叼了一波,还是有点不服,奈何外包公司就是这样“没能力好好干,有能力给我滚蛋”!过完春节不辞职算我输(求收留)。
fyi:
如图所示,java本身提供的原始httpurlconnection方法可以解析加了签名的url,so温馨提示大家以后可以慎用hutool工具类,同时也希望走过路过的朋友可以指导一波,怎么用hutool解析url获取图片base64。
上一篇: 明明有实力非要去跟随 佳能商用打印之殇
下一篇: 朱棣给明朝留过后路?崇祯最后却选择自杀了