【发布时间】:2015-08-19 18:32:00
【问题描述】:
我们正在构建一个网络应用程序,该应用程序将上传大量图像。优化这些图像并将其存储在网站上的最佳解决方案是什么?
还有没有一种方法可以自动增强正在上传的图像?
【问题讨论】:
标签: php image api optimization
我们正在构建一个网络应用程序,该应用程序将上传大量图像。优化这些图像并将其存储在网站上的最佳解决方案是什么?
还有没有一种方法可以自动增强正在上传的图像?
【问题讨论】:
标签: php image api optimization
yyyymmddhhiissnnnn,其中yyyymmdd 是年、月和日期,hhiiss - 小时、分钟和秒,nnnn - 那一秒的图像数,即0001 用于第一张图像,@987654326 @ 用于第二张图片等。这将为您提供具有良好排序的唯一文件名。images/<x>/<y>/<z>/<filename> 的东西。这也可以跨越多个服务器。_icon、_profile 和_full 可能会添加到原始图像的文件名中。根据您的资源和同时上传的图像数量,您可以实时执行此操作(在同一个 HTTP 请求中)或使用一些后台处理(连续检查是否有新图像的 cron 作业)转换)。至于自动增强图像 - 这是可能的,但前提是您确切知道必须对图像执行什么操作。我认为分析每张图像并决定应该如何处理它可能太复杂并且占用太多资源。
【讨论】:
所有来自上面 binaryLV 的好建议。除了他的建议 #5,您可能还想优化您创建的缩略图。上传图像时,它们可能包含缩略图不需要的元数据。您可以无损删除元数据以缩小缩略图大小,如下所示:http://code.google.com/speed/page-speed/docs/payload.html#CompressImages。我个人在我的网站的图像上使用 jpegtran,以便在创建缩略图时自动优化我的缩略图。如果您需要元数据,可以从原始图像中获取。
如果您计划向用户显示这些图像,则需要考虑的其他事项是将您的图像托管在无 cookie 的域或子域中,如下所述:http://developer.yahoo.com/performance/rules.html#cookie_free。如果图像托管在具有 cookie 的域或子域上,那么每个图像都会发送一个不必要的 cookie。它可以为每个请求的图像节省几 KB,这可以加起来相当可观,尤其是在带宽受限的连接(例如移动设备)上。
【讨论】: