如何在将图像上传到服务器之前调整角度2的大小?

时间:2016-05-19 05:42:52

标签: angular

我想调整大小为74 x 74的图像,我使用ng2-uploader指令上传图像。 如果有任何其他指令我可以用来达到我的要求,请建议我。 感谢

4 个答案:

答案 0 :(得分:6)

看看ng2-imageupload。它使您能够在上传图像之前自动调整图像大小。

只需修改模板并在输入字段中添加一些指令,然后为图片上传添加隐藏的图片标记:

<img [src]="src" [hidden]="!src">
<input type="file" imageUpload (imageSelected)="selected($event)" [resizeOptions]="resizeOptions">

在您的组件中添加调整大小选项和selected方法:

src: string = "";
resizeOptions: ResizeOptions = {
    resizeMaxHeight: 74,
    resizeMaxWidth: 74
};

selected(imageResult: ImageResult) {
    this.src = imageResult.resized 
      && imageResult.resized.dataURL
      || imageResult.dataURL;
}

答案 1 :(得分:6)

是的,我们可以在上传之前使用ng2-img-cropper来裁剪图片,也可以根据您的要求自定义尺寸,您只需从节点安装名为ng2-img-cropper的包 使用

  

npm install ng2-img-cropper --save

而不仅仅是通过导入

来使用该组件

import {ImageCropperComponent, CropperSettings, Bounds} from 'ng2-img-割草机';

Working plunker here 有关详细信息,请参阅此处,

答案 2 :(得分:0)

我实现了this post。 但是我不明白这一行:

this.src = imageResult.resized 
  && imageResult.resized.dataURL
  || imageResult.dataURL;

为什么不直接使用imageResult.resized.dataURL?

答案 3 :(得分:-1)

我使用了npm i ngx-image-compress,效果很好。

https://www.npmjs.com/package/ngx-image-compress