代码之家  ›  专栏  ›  技术社区  ›  dnul

压缩和调整用户上载的图像大小

  •  1
  • dnul  · 技术社区  · 10 年前

    我正在建立一个有大量用户上传图片的网站(比如airbnb)

    到目前为止,该网站会将您提交的任何图像上传到亚马逊s3,然后相应地显示。有时这些图像太重,会增加页面加载时间。

    我希望将此图像调整到所需的分辨率,并在可能的情况下进行压缩(转换为jpeg),以提高加载时间并减少流量。

    我发现这可以通过以下方式实现:

    • 创建HTML画布,在浏览器中进行相关转换,然后上传。
    • 将图像上载到服务器,然后运行一些后端任务以减小大小和压缩。

    每种方法的好处是什么?哪个最常见?在每种情况下我应该考虑什么?

    我的堆栈当前是node.js/nangular。我现在不打算使用CDN,因为项目处于开发阶段

    提前感谢!

    2 回复  |  直到 10 年前
        1
  •  1
  •   Olatunde Garuba Bakabaka    10 年前

    您需要安装imagemin并将其添加到繁重的任务中。这里有一个链接可供您使用 https://github.com/gruntjs/grunt-contrib-imagemin 祝你好运

        2
  •  1
  •   dnul    10 年前

    为了记录在案,我发现最简单的解决方案是加载用户在html5画布中选择的任何图像,并将其转换为jpeg,然后上载jpeg,在后端,我将使用节点imagemagik包调整其大小。

    通过在前端转换为jpeg,您可以在不损失性能的同时最小化上载时间,并将输入格式标准化到后端服务。