我们正在构建一个可以上传大量图片的网络应用。哪个是优化这些图像并将其存储在网站上的最佳解决方案?
还有一种方法可以自动增强正在上传的图像吗?
答案 0 :(得分:11)
yyyymmddhhiissnnnn
,其中yyyymmdd
是年,月和日,hhiiss
- 小时,分钟和秒,nnnn
- 该秒中的图片数量,即{第一张图片为{1}},第二张图片为0001
等。这将为您提供精美订单的唯一文件名。0002
之类的内容。这也可以跨越多个服务器。images/<x>/<y>/<z>/<filename>
,_icon
和_profile
可以被添加到原始图像的文件名中。根据您的资源和同时上传的图像数量,您可以实时(在相同的HTTP请求中)或使用一些后台处理(连续检查是否有新图像的cron作业)转换)。至于自动增强图像 - 这是可能的,但前提是你确切知道必须对图像做些什么。我认为分析每个图像并决定应该用它做什么可能过于复杂并且占用太多资源。
答案 1 :(得分:2)
以上来自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,这可以增加相当多的量,特别是在受限制的带宽连接上,例如在移动设备上。