客户端v / s服务器端图像压缩

时间:2016-03-20 10:04:15

标签: javascript php jquery html image-compression

我正在处理用户可以上传图片的内容(图片大小不受限制)。现在我有两个选项:使用PHP压缩图像(服务器端)或使用JavaScript在客户端计算机上压缩图像,然后将上传到服务器。我想问哪两种方法更好来实现?服务器上的压缩可能导致服务器负载过重,所以我想到了客户端压缩,但是如果我上传更大尺寸的图像(假设大约12MB左右),那么由于脚本,浏览器会冻结一段时间。

因此没有代码只是一个理论问题。目前我正在使用 J-I-C用于客户端压缩

用于客户端图像压缩的任何其他好库?哪种方法会更好?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

正如@Xorifelse所说,问题可能“过于宽泛”,但这里有一些想法。

缺点

  • 用户输入不得信任;通过在客户端进行压缩,您无论如何都必须在服务器端进行一些健全性检查
  • 图像压缩(或优化)涉及复杂的操作,JavaScript中的选择少于其他语言
  • 因为操作很复杂,所以你要把压力放在你的客户身上;如果你不控制他们的配置(硬件,浏览器和vers),你几乎只能在内联网中出现这种情况,你可能会降低(或失败)某些用户的浏览体验
  • 由于所有这些原因,客户端错误更难以跟踪和修复,并且在开发过程中可能比向服务器添加资源更快地花费更多费用

赞成

  • 从服务器卸载一些计算
  • 您可以帮助带宽较小但功能强大的计算机和最新浏览器的用户上传大图片

图像压缩工具

仅限JPEG

BGP

我的建议

  • 如果您需要省略服务器,您可以在服务器负载不重的某一天的某个时间以批量方式优化图像
  • 如果您有大量输入,将优化发送到另一台服务器(即:亚马逊,DigitalOcean,Linode等的按需虚拟机,以便您只在需要时付款)会更便宜而不是升级你的“主”服务器