我正在使用图像处理API。(Blitline)
根据它的性质,图像处理需要一段时间才能完成。比方说3-6秒。
在提交作业后,API立即返回我处理过的图像的未来url,但在3-6秒内,该url将返回404,因为图像尚未完成处理。
一旦任务完成,Blitline服务就会向我服务器上的PHP脚本发送一个回发消息,告诉我已经完成了。
此时,我想向用户显示处理后的图像。
是否有一种技术可以在回发传入时将图像加载到用户浏览器中?
我知道这可以通过Javascript轮询来完成。例如,每隔2秒检查一次回发是否已经到达。
但我想知道是否有更现代的方法来做这件事?
发布于 2014-09-26 04:12:26
另一个必须处理的问题是S3延迟。仅仅因为一张图片被上传到S3并且S3回应说它得到了它,并不意味着该图片将立即公开发布。虽然它通常在几毫秒内可用,但有时可以延长到几秒钟。
由于您有URL,所以您可以只轮询S3以获取图像。下面是一个示例:
https://coderwall.com/p/hy_qjw
此示例尝试从S3加载隐藏图像。如果成功,它会在几秒钟内再次尝试(您可以调整setTimeout)。无论你是在等待Blitline完成,还是在等待S3让图像可用,这都是可行的。
https://stackoverflow.com/questions/25552187
复制相似问题