Comments (8)
Found Solution :
All we need is to call destroy();
this.angularCropper.cropper.destroy();
Demo : https://stackblitz.com/edit/angular-cropperjs-replace-demo
from angular-cropperjs.
i have confirmed the problem with the replace method, will need more time to find a fix. What you could do in the meantime is destroy angular-cropper html with ngIf, change the image and place the element again. Thats the way i do in https://github.com/matheusdavidson/angular-upcrop
from angular-cropperjs.
I'll make a test, give me a moment.
from angular-cropperjs.
Thank you for your interest. I will try.
from angular-cropperjs.
This is still bug? Exist some way to avoid this problem?
from angular-cropperjs.
onFileAdded(event){
const angularCropper = this.angularCropper;
const input = event.target;
if (input.files && input.files[0]) {
const reader = new FileReader();
reader.onload = function (e) {
**angularCropper.cropper.destroy();
angularCropper.imageUrl = e.target.result;**
};
reader.readAsDataURL(input.files[0]);
}
}
This is my solution for now, hope it stays stable.
When I do replace, it creates another instance below the existing one.
from angular-cropperjs.
This seems to work for me:
readFile(file: File) {
const myReader = new FileReader();
myReader.onloadend = (loadEvent: any) => {
this.angularCropper.imageUrl = loadEvent.target.result;
this.angularCropper.cropper.destroy();
};
myReader.readAsDataURL(file);
}
Am I doing this right? The call to .destroy()
reloads the cropper.
If I look at the source code of https://fengyuanchen.github.io/cropperjs/ I see this:
if (/^image\/\w+/.test(file.type)) {
uploadedImageType = file.type;
uploadedImageName = file.name;
if (uploadedImageURL) {
URL.revokeObjectURL(uploadedImageURL);
}
image.src = uploadedImageURL = URL.createObjectURL(file);
cropper.destroy();
cropper = new Cropper(image, options);
inputImage.value = null;
} else {
window.alert('Please choose an image file.');
}
As you can see, a new Cropper gets created after the old one is destroyed.
So my question is: is calling .destroy()
enough? It works perfectly BTW
from angular-cropperjs.
This may not be an issue with this library but with cropperjs itself, see: fengyuanchen/cropperjs#617
from angular-cropperjs.
Related Issues (20)
- Cropper in an overlay doesn't work
- How to install CropperJs for angular 1.x? HOT 1
- New tag for console.log removal in master? HOT 1
- At least in Augular 7, it seems replace method will create a additional ".cropper-container"s elements HOT 1
- Angular 8 and imageSmoothingQuality HOT 2
- Can't get local file in ionic. HOT 1
- Problem cropper on Firefox
- npm WARN [email protected] requires a peer of @angular/common@^6.0.0-rc.0 || ^6.0.0 but none is installed HOT 3
- cropper js not working for edge browser ,canvas.toBlob() is not function HOT 1
- 2nd instance of picker get generated automaticly after selecting 2 different pictures.
- ERROR in The target entry-point "angular-cropperjs" has missing dependencies HOT 1
- When i am trying to crop image whose image size is 64MB after cropping I am getting blank white image, HOT 2
- Rotating image and cropper (64 Mb Size) toBlob getting grey blank screen HOT 1
- ERROR TypeError: Cannot read property 'scale' of undefined HOT 1
- Is this package unmaintained? HOT 1
- cropper is not working when i am trying to use in ng-template HOT 1
- Getting CommonJS or AMD dependencies can cause optimization bailouts HOT 3
- Bad documentation HOT 1
- 希望能够继续更新。
- onCropMove
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angular-cropperjs.