我的应用程序的一部分 大量使用图像处理。使用 ajax 帖子和图像处理服务器端使用多种方法进行裁剪、过滤器等。用户采取的每个操作动作都会创建一个物理图像而不删除原始图像,以便允许“撤消”系统使用户能够将他的图像恢复到任何先前的时间点。
当用户完成会话或关闭浏览器时,所有这些“临时”图像都会通过发布到服务器的方式删除。
对于现代浏览器,我们将使用 html5 扩展图像处理功能。使用画布使我们能够在客户端执行所有这些图像操作,而无需通过编码和动态嵌入 base64 数据来创建额外的静态图像。
我担心的是“撤消”系统。使用静态回退方法,我们存储了一个对象数组,其中包含指向静态图像的链接。这提供了完整的撤消功能。但是,如果我们在所有客户端都这样做,那么这个数组实际上必须包含每个“撤消”点的 base64 数据的副本对于用户正在操作的每个图像(典型的用例可能是 20 个原始图像,每个图像有 4-5 个撤消点)。
在我花了几天时间对此进行原型设计之前,我希望有人可能会对这种方法提出一些意见。这是个好主意吗?馊主意?从浏览器性能和内存使用的角度来看,存储大量 base64 图像数据对象是不是一个坏主意?
欢迎任何想法,在此先感谢。