如何在angularjs上传图像时自动压缩图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在angularjs上传图像时自动压缩图像相关的知识,希望对你有一定的参考价值。

这是我的html表单:

<form name="myForm" ng-submit="">
    <input ng-model='file' type="file"/>
    <input type="submit" value='Submit'/>
</form>

我想上传图片。这里如果文件大小很大(如3或4 MB),我想自动将图像压缩到1MB或更小。任何选项都可以在angularjs或javascript中自动压缩图像。

答案

This Angular指令在客户端使用angularjs压缩jpeg或png文件。阅读更多关于它here

此模块依赖于angularjs,因此请确保您已添加angularjs依赖项,然后添加angular-image-compress.js。就像是

angular.module('myApp', ['ngImageCompress']);

这就是你如何实现你想要的。

 <input id="inputImage" type="file" accept="image/*" image="image1" resize-max-height="800" resize-max-width="800" resize-quality="0.7" resize-type="image/jpg" ng-image-compress />

Directives标签上使用的input是自我解释的

另一答案

您可以使用图像压缩器,您可以在其中指定所需的图像高度和宽度。

https://www.npmjs.com/package/image-compressor

以上是关于如何在angularjs上传图像时自动压缩图像的主要内容,如果未能解决你的问题,请参考以下文章

如何在angularjs中使用ng-file上传裁剪和上传图像

如何在将图像上传到 Firebase 存储之前对其进行压缩?

如何在上传到服务器之前在 iOS 上压缩/调整图像大小?

上传到 cloudinary 时图像正在压缩

通过 angularjs 将图像上传到 cloudinary 时遇到问题

如何在 django python 中压缩上传的图像