Vue项目中使用cordova插件调取相机、相册

项目上线,整理完开发技术文档 ,这次终于想起来在这也记录一份玩意了~~~~~

从刚开始对cordova项目的举手无措到现在的信手拈来,真的是一个很痛苦的过程。打包—调用API—功能实现,看官方文档还是没错的

这里我写了在vue.js里如何使用cordova的插件完成调取相机及图库,并完成图片上传的操作。

一、在cordova项目下安装cordova-plugin-camera插件 (cordova plugin add cordova-plugin-camera)

二、安装 cordova-plugin-file-transfer 插件(cordova plugin  add cordova-plugin-file-transfer,为什么安装它,后面我会说到)

三、在需要调用相机的事件中,调用方法。

sourceType :1. PHOTOLIBRARY 或 0 打开照片库。

      2.CAMERA 或 1 打开本机相机。
        3.SAVEDPHOTOALBUM 或 2 打开已保存的相册。
cameraTakePicture (sourceType) {
  navigator.camera.getPicture(this.onSuccess, this.onFail, {
quality: 50,
destinationType:1,
encodingType: Camera.EncodingType.JPEG,
allowEdit: true,
sourceType:
sourceType
  });
},//就上面这点就实现调用摄像头和照片库,(
这里只是实现调用
onFail(message) {
//取消照相功能提示
},
onSuccess(imageURL) {
//开始上传,这里用到了cordova-plugin-file-transfer 插件,
let options = new FileUploadOptions();
options.fileKey = "file";//我这里后台采用的是阿里云的上传,接收的参数类型为File
options.fileName = imageURL.substr(imageURL.lastIndexOf('/') + 1);
let ft = new FileTransfer();
var SERVER = "http://XXXX";//上传接口
ft.upload(imageURL, encodeURI(SERVER), this.success, this.fail, options);
},
success(r){
//照片上传成功
alter("上传成功")
},
fail(error){
//照片上传失败
alter('上传失败')
}

 

posted @ 2018-07-17 18:55  周小飞  阅读(2824)  评论(0)    收藏  举报