【问题标题】:Client-Side v/s Server-Side image compression [closed]客户端与服务器端图像压缩[关闭]
【发布时间】:2016-07-06 20:40:17
【问题描述】:

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

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

还有其他好的客户端图像压缩库吗?哪种方法会更好?任何帮助将不胜感激。

【问题讨论】:

  • 这个问题相当广泛,而且大多是固执己见。您还应该考虑客户满意度。如果我的手机必须压缩图像以发送数据,那么它会消耗电池性能,同时只节省最少的字节,因为图像已经被压缩了。
  • @Xorifelse 是的,我知道问题很宽泛且固执己见,但我想不出更好的地方来提问。是的,电池性能会在那里,这就是为什么我想了解哪种方法的权衡更小,结果更好。
  • 您应该始终在服务器端压缩图像。出于安全原因,您必须小心上传文件。在图片中搜索代码注入

标签: javascript php jquery html image-compression


【解决方案1】:

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

缺点

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

优点

  • 你从你的服务器上卸载了一些计算
  • 您可以帮助拥有小带宽但功能强大的计算机和最新浏览器的人上传大图像

图像压缩工具

仅限JPEG

BGP

我的建议

  • 如果您需要备用服务器,您可以在一天中服务器负载不重的某个时间批量异步优化图像
  • 如果您有大量输入,将优化发送到另一台服务器可能会更便宜(即:Amazon、DigitalOcean、Linode 等的按需虚拟机,因此您只需在需要时付费)而不是升级你的“主”服务器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2011-08-02
    相关资源
    最近更新 更多