2017-03-19 8 views
0

MEAN環境を使用して、Webサイトユーザーがアップロードしたイメージファイル(.gif/.png/.jpg)を特定のファイルに自動的に縮小したいサイズ(例えば、2MB)。 は、利用可能な任意のNode.jsのモジュールは、このようなものを使用するように私にできるように、あります:Node.js/AngularJS:イメージファイルを特定のファイルサイズに縮小する

別に私は、目的のファイルサイズに基づいてオンザフライ縮小化係数を計算する必要があります:graphicsmagick縮小化機能(から
SomeModule.shrinkImage('MyHugeImage.jpg','2MB') 
.then() 
[...] 

)、私は何も見つけ出していません。クライアント(AngularJSを使用)またはサーバー側(Node.jsモジュール)で発生する可能性がありますが、私は気にしません。提案?

答えて

2

私はng-image-resizeがあなたを助けることができると思います。

  • このモジュールをbowerまたはnpmでプロジェクトに追加します。

    例:bower install angular-images-resizer。

  • あなたのアプリに含めてください。

    angular.module( 'app'、['images-resizer']);

  • は、単にあなたのコードにサービスを追加し、あなたのイメージのサイズを変更する起動します。詳細はhttps://github.com/FBerthelot/angular-images-resizerを訪問

    angular.module('app', function ($document, $log, $scope, resizeService) { resizeService .resizeImage('resources/imageToResize', { size: 100, sizeScale: 'ko' // Other options ... }) .then(function(image){
    // Add the resized image into the body var imageResized = document.createElement('img'); imageResized.src = image; $document[0].querySelector('body').appendChild(imageResized); }) .catch($log.error); // Always catch a promise :)

してください。

関連する問題