Go版本图床-根据虚拟url获取真实的url
文章首发于:clawhub.club
因为每张图片上传后,都会分发到不同的图床中,库中也就存储了多张真实的url和一张虚拟的url。用户拿到虚拟URL后,访问浏览器,之后系统重定向到真实的url。
这里有个问题:免费的图床,不稳定,URL会失效。如何实时的更新图床url是个问题。
目前想到两个方案:
1,周期性扫描并请求所有url,发现失效的url之后,获取到其有效的图片后,重新上传到当前图床,更新此url。这样做的优点就是,对用户友好,拿到的永远是生效的URL,如果虽然也会有一些时间差,在这之间和、可能会有失效的URL。
2,因为这是个API应用,所以,用户每次都拿一份真实的url,如果失效了,点击刷新,重新获取另一个URL,如果还是失败的,那就再刷新,因该不会有太多的不靠谱url吧。即后端要留一个刷新的口子,根据用户发来的虚拟URL和失效URL,首先返回另一个真实URL,再异步更新这个图床的图片数据。这一方案的优点就是能减少系统的资源,缺点就是用户要刷新图片,可能不友好。
天下没有免费的午餐,既然吃着这个,那就得忍受他的缺点。
还有就是这种免费的图床,因为上传到被人的库里面,你是不知道他吗、拿你的数据会做什么,所以不能上传不好的,隐私的,重要的东西。
我当前选择的是方案二,反正是自己用着玩,节省资源最重要。
获取URL
1 | //获取图片 |
刷新的逻辑还没写完,反正目前不需要,等用的时候再搞。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ClawHub的技术分享!