我正在使用 Ionic 2 和 cordova-plugin-crop 来裁剪图像。
如果我拍一张照片(pictureSourceType === navigator.camera.PictureSourceType.CAMERA
(,裁剪工作正常,但是如果我从文件夹(pictureSourceType === navigator.camera.PictureSourceType.SAVEDPHOTOALBUM
(中选择图像并尝试裁剪它,我会得到:
裁剪错误 404
这是我的代码:
takeThePhoto(pictureSourceType: any) {
let options = {
sourceType: pictureSourceType,
destinationType: Camera.DestinationType.FILE_URI,
quality: 50,
targetWidth: 720,
correctOrientation: true,
encodingType: Camera.EncodingType.JPEG
}
if (pictureSourceType === navigator.camera.PictureSourceType.SAVEDPHOTOALBUM) {
options.correctOrientation = false;
}
Camera.getPicture(options).then((imageURI) => {
window['plugins'].crop.promise(imageURI, {
quality: 75
}).then(newPath => {
alert('newPath = ' + newPath);
return this.toBase64(newPath).then((base64Img) => {
this.base64Image = base64Img;
}).catch((error) => {
console.error("ERROR -> " + JSON.stringify(error));
alert("ERROR: " + JSON.stringify(error));
});
},
error => {
console.error("CROP ERROR -> " + JSON.stringify(error));
alert("CROP ERROR: " + JSON.stringify(error));
}
).catch((error) => {
console.error("ERROR imageURI -> " + JSON.stringify(error));
alert("ERROR imageURI: " + JSON.stringify(error));
});
},
error => {
// console.error("CAMERA ERROR -> " + JSON.stringify(error));
// alert("CAMERA ERROR: " + JSON.stringify(error));
}
).catch((error) => {
console.error("ERROR getPicture -> " + JSON.stringify(error));
alert("ERROR getPicture: " + JSON.stringify(error));
});
}
任何帮助,不胜感激。
由于您已经从"离子原生"导入了"相机",请尝试替换:
navigator.camera.PictureSourceType.SAVEDPHOTOALBUM
跟
Camera.PictureSourceType.SAVEDPHOTOALBUM
而且,尝试替换
window['plugins'].crop
跟
import { Crop } from 'ionic-native';
Crop.crop(.... )
插件的 github 中有 ionic2 使用示例,如果有帮助的话:https://github.com/jeduan/cordova-plugin-crop