在这种情况下哪个最好,Base64还是静态图像?

时间:2012-06-16 09:03:09

标签: php javascript jquery

我的部分应用程序大量使用图像处理。使用ajax帖子和图像处理服务器端使用各种方法裁剪,过滤等。用户执行的每个操作操作都会创建一个物理图像,而不会删除原始图像,以便允许“撤消”系统使用户能够将其图像恢复到以前的任何时间点。

当用户完成会话或关闭浏览器时,所有这些“临时”图像都会通过帖子删除到服务器。

对于现代浏览器,我们将使用html5扩展图像处理功能。使用canvas使我们能够在客户端执行所有这些图像处理,而无需通过编码和动态嵌入base64数据来创建其他静态图像。

我关心的是'撤销'系统。使用静态回退方法,我们存储一个对象数组,其中包含指向静态图像的链接。这提供了完整的撤消功能。但是,如果我们在所有客户端执行此操作,则此数组必须实际包含每个“撤销”点的base64数据的副本对于用户正在操作的每个图像(典型的用例可能是20个原始图像,每个图像具有4-5撤消点)。

在我花了几天时间进行原型设计之前,我希望有人可能对此方法有一些评论。这是个好主意吗?馊主意?从浏览器性能和内存使用角度来看,存储base64图像的大数据对象是个坏主意吗?

欢迎任何想法,提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是一个坏主意。 Base64比实际数据编码的存储空间多30%。如果可以通过实际URL访问您的服务器上映像,请考虑保留对与DOM分离的<img>元素的引用。