Node.js / AngularJS:将图像文件缩小到特定文件大小

时间:2017-03-19 18:48:43

标签: javascript angularjs node.js

使用MEAN环境,我想自动将网站用户上传的图像文件(.gif / .png / .jpg)缩小到特定的文件大小(例如2 MB)。 是否有任何node.js模块可用,使我能够使用这样的东西:

SomeModule.shrinkImage('MyHugeImage.jpg','2MB')
.then()
[...]

除了graphicsmagick minify功能(我必须根据所需的文件大小动态计算缩小系数),我还没有找到任何开箱即用的东西。可能发生在客户端(使用AngularJS)或服务器端(Node.js模块),我不在乎。建议?

1 个答案:

答案 0 :(得分:2)

我认为ng-image-resize可以帮到你。

  • 使用bower或npm将此模块添加到项目中。

    例如:bower安装angular-images-resizer。

  • 将其包含在您的应用中。

    angular.module(' app',[' 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 :)

请访问https://github.com/FBerthelot/angular-images-resizer了解详情。