离子3,角CLI 7,角5。
无法从库中获取图像。
它在调用getPicture时失败。我收到一个错误:
“Object(WEBPACK_IMPORTED_MODULE_1__ionic_native_core“cordova”)不是一个函数。(在‘Object(WEBPACK_IMPORTED_MODULE_1__ionic_native_core“cordova”)(this,“getPicture”、{“callbackOrder”:“反向”}、参数)‘中,‘Object(WEBPACK_IMPORTED_MODULE_1__ionic_native_core“cordova”)’是对象的实例)
我已经尝试过将所有本机插件都放到5.0.0-beta.15版本中,但这并没有帮助。
我尝试过ImagePicker和摄像头插件,但都给出了相同的错误。
ImagePicker (插件是@离子型本机/图像选择器):
let options = {
maximumImagesCount: 1
};
this.imagePicker.getPictures(options).then((results) => {
for (var i = 0; i < results.length; i++) {
this.imgPreview = results[i];
this.base64.encodeFile(results[i]).then((base64File: string) => {
this.regData.avatar = base64File;
}, (err) => {
});
}
}, (err) => { console.log(err); });
照相机(插件是@离子型本机/照相机):
var sourceType = this.camera.PictureSourceType.PHOTOLIBRARY;
var options = {
quality: 100,
sourceType: this.camera.PictureSourceType.PHOTOLIBRARY,
saveToPhotoAlbum: false,
correctOrientation: true
};
this.camera.getPicture(options).then((imagePath) => {
console.log("Img path: " + imagePath);
if (this.platform.is('android') && sourceType === this.camera.PictureSourceType.PHOTOLIBRARY) {
this.filePath.resolveNativePath(imagePath)
.then(filePath => {
let correctPath = filePath.substr(0, filePath.lastIndexOf('/') + 1);
let currentName = imagePath.substring(imagePath.lastIndexOf('/') + 1, imagePath.lastIndexOf('?'));
});
} else {
var currentName = imagePath.substr(imagePath.lastIndexOf('/') + 1);
var correctPath = imagePath.substr(0, imagePath.lastIndexOf('/') + 1);
}
}, (err) => {
console.log(err);
});
有人能帮帮我吗?
UPD:我将ImagePicker和Base64降级为与本机内核相同的版本,它似乎开始起作用了。但是当我试图运行Ionic DevApp的应用程序时,它一直告诉我,我应该将telerik-imagepicker插件添加到cordova中,但它已经在它的列表上了!(是的,我确实试着添加)。所以错误是"plugin_not_installed“。
UPD 2:我不得不离开这个项目,所以不幸的是我不知道解决方案是什么,因为我没有检查Sergey提出的想法
发布于 2019-03-12 17:17:55
由于您使用的是Ionic 3,您需要确保根据文档安装和导入插件:
请注意这是用于Ionic 4:https://ionicframework.com/docs/native/image-picker的
安装说明:
离子cordova插件添加cordova插件-telerik-imagepicker npm 安装@离子型本机/图像选择器
这是给Ionic 3的
离子cordova插件添加cordova- plugin -telerik-imagepicker -变量PHOTO_LIBRARY_USAGE_DESCRIPTION=“您的使用信息”npm安装-保存@离子型本机/图像选择器@4
请注意@4,这有助于npm安装相关插件的离子v3。
还请注意,导入语句将有所不同:
离子4有:
import { ImagePicker } from '@ionic-native/image-picker/ngx';
离子3有:
import { ImagePicker } from '@ionic-native/image-picker';
要删除插件:
cordova插件列表
然后
cordova插件删除PLUGIN_NAME
然后为您的框架版本安装适当的插件。
发布于 2019-03-09 10:18:53
在阅读了我的答案后,似乎在构建应用程序时,依赖项无法正确安装或缺少对它们的引用。乍一看,代码似乎是正确的。无论如何,你需要升级到版本4,因为它也看到,离子v3有问题的相机在其他一些帖子。“离子型3不支持那些插件”
这个问题也有类似的问题,它通过重新安装适当的依赖版本https://stackoverflow.com/a/54436891/4229159而得到了解决。
否则,如果您只将相机隔离在一个小应用程序中,那么它在V4中仍然会产生同样的错误吗?(仅支持版本)
https://stackoverflow.com/questions/55076062
复制相似问题