Ionic的常用组件学习好之后,要学习一些Native Component了,这些组件都是通过PhoneCap的Cordova来访问原生的设备功能的。
要想使用Image Picker,首先就要安装Image Picker组件
使用以下命令安装Image Picker
ionic plugin add https://github.com/Telerik-Verified-Plugins/ImagePicker
更多关于Image Picker访问Github:[地址]( https://github.com/wymsee/cordova-imagePicker)
基本用法首先在头部导入ImagePicker
:
import { ImagePicker } from 'ionic-native';
该组件有以下三个方法:
- getPictures(options) :顾名思义,就是选取照片
- hasReadPermission() : 判断是否有读取权限 (android用)
- requestReadPermission() : 请求读取权限 (android用)
Promise和箭头函数的写法:
ImagePicker.getPictures(options).then((results) => {
for (var i = 0; i < results.length; i++) {
console.log('Image URI: ' + results[i]);
}
}, (err) => { });
该方法的options属性如下:
- maximumImagesCount (number) :一次能选择的最大数量的图片
- width (number) 图片被允许的最大的宽度
- height (number) 图片被允许的最大的高度
- quality (number) 图片质量,默认是100
注:maximumImagesCount实际测试ios不起作用,具体什么问题还要再研究
示例在前台html页面中:
<ion-row>
<img src="{{userInfo.Url}}" (click)="uploadPic()" />
</ion-row>
ts文件中:
uploadPic(){
var opt = {
maxImagesCount:1,
width:100,
height:100,
quality:50
};
ImagePicker.getPictures(opt).then((results)=>{
for (var i = 0; i < results.length; i++) {
this.userInfo.Url = results[i];
}
},
(err)=>{
});
}
效果就是点击图片跳转到系统相册中,选中之后更新图片
热门评论
为什么我这个报错
Error: exec proxy not found for :: ImagePicker :: getPictures
ionic2 imagepicker 报错No provider for ImagePicker!为什么呢?
您好,请问为什么Imagepicker调用不成功,就是不走then(),而是走err