用对象存储来做聊天记录图片或文件保存的优缺点以及越不过的坎,堪称无解
IM中非文字消息的保存方案有2种
(暂不考虑用base64保存法)
1:为服务器保存,这样带宽是个严重问题,严重不可取
2:对象存储,(oss,腾讯的cos,七牛...)各家性能不一,目的只有一个,解放带宽
第二种看似是银弹,可以对于WEB应用中任意可读取img的src的情况,盗链是个严重问题
解决盗链也很简单,采用签名,访问鉴权,如果我的历史消息图片有100条,每访问一条都要鉴权,对服务器和客户端的效率都是个灾难,而第一种我可以通过图片服务器判断来源head判断是否从我的应用打开。使得随便打开一个img的url不可访问。
不知道大牛们有没有遇到这个坎。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
刚好在思考这个问题,搜到这里,就顺便答下。
你可以用Fiddler抓包看看其他IM是怎么做的,比如手机QQ。
手机QQ的C2C单聊发送的图片,对方收到的就是个url,不需要鉴权,任何人拿到这个url都可以访问这个图片。