2015-02-23 29 views
1

我建立一個網站,有很多用戶上傳的圖片(比如選擇Airbnb假設)壓縮和調整用戶上傳的圖片

的到現在爲止,該網站將上傳您所提交的任何圖像到Amazon S3,然後相應地顯示。有時這些圖像太重,並增加頁面加載時間。

我想將此圖像調整爲所需的分辨率,並在可能的情況下進行壓縮(轉換爲jpeg)以增強加載時間並減少流量。

我發現這是可以做到無論是:

  • 創建HTML畫布,作出相應的變革在瀏覽器中,然後上傳。
  • 將圖像上傳到服務器,然後運行一些後端任務以減小尺寸和壓縮。

每種方法的好處是什麼?這是最常見的?我應該在每種情況下考慮什麼?

我的堆棧當前是node.js/angular。我現在不打算使用CDN,因爲該項目處於開發階段

在此先感謝!

回答

1

爲記錄,我發現最簡單的解決方案是加載用戶在html5畫布中選擇的任何圖像並將其轉換爲jpeg,然後上載jpeg並在後端使用節點imagemagick調整其大小包。

通過在前端轉換爲jpeg,您可以最大限度地減少上傳時間,同時不會損失性能,並將輸入格式規範化爲後端服務。

1

你需要安裝並添加imagemin到你的咕嚕任務這裏是一個鏈接讓你得到它https://github.com/gruntjs/grunt-contrib-imagemin 祝你好運。