此刻,我通过ajax-php-mongodb获取100-200张图片,ajax提供带参数的初始调用,服务器端php找到具有所有grid fs文件数组的相应mongo doc图像的ID,然后php从gridfs中获取图像的字节,base64对其进行编码,通过循环将它们全部存储到php数组中,并将数组字符串回送到ajax,后者调用附加图像的函数。
问题在于连接速度较慢,尤其是较旧的3G连接,如果连接中断,则所有图像的整个ajax请求都会失败。
我有办法解决这个问题吗?我想过做一个连续的ajax请求来确认每x / imageAmount时间收到的数据,但我想知道是否有一种确定的方法可以做到这一点,甚至可能是一个库。
感谢。
答案 0 :(得分:1)
执行100-200个请求的代价是建立TCP连接,因此请使用keep alive来重用连接。 保持活动状态,无论如何都会根据请求发送http标头,因此,为了补偿不执行base64。
您还可以在内存中缓存图像以减少延迟和mongodb负载(gridfs不太有效)