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('上传失败')
}

浙公网安备 33010602011771号