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

标签 php javascript jquery

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

当用户完成 session 或关闭浏览器时,所有这些“临时”图像都会通过发送到服务器的消息被删除。

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

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

在我花几天时间对此进行原型(prototype)设计之前,我希望有人会对这种方法提出一些意见。这是个好主意吗?馊主意?从浏览器性能和内存使用的 Angular 来看,存储大量 base64 图像数据对象是不是一个坏主意?

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

最佳答案

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

关于php - 在这种情况下哪个最好,Base64 还是静态图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11062117/

相关文章:

php - IOS Web 服务推荐

javascript - 如何将 child 的div高度扩展到 parent 的高度

javascript - jquery 座位表 PHP : store data price to mysql db

php - laravel - 三个表的内连接查询

php - 在函数范围外引用变量的更好方法是什么?

javascript - Fabric js 自定义旋转图标仅在 iphone 的 google chrome 浏览器中不可见

javascript - 超时不起作用

javascript - 如何在谷歌地图上创建右侧菜单侧边栏

javascript - 让 Div 输入搜索值

php - 禁止发布 403,在 justhost 上的 wordpress 站点