本文给出在vue.js里如何使用cordova的插件完成调取相机及图库,并完成图片上传的操作。
具体的操作步骤如下
第一步:在cordova项目下安装cordova-plugin-camera插件
cordova plugin add cordova-plugin-camera
第二步:在需要调取相机的地方,加入相关的代码
cameraTakePicture: function (mySourceType) {
navigator.camera.getPicture(this.onSuccess, this.onFail, {
quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
encodingType: Camera.EncodingType.JPEG,
sourceType: mySourceType
})
},
注意的问题:
1、sourceType:
PHOTOLIBRARY 或 0 打开照片库。
CAMERA 或 1 打开本机相机。
SAVEDPHOTOALBUM 或 2 打开已保存的相册。
2、destinationType
DATA_URL 或 0 返回base64编码字符串。
FILE_URI 或 1 返回图片文件URI。
NATIVE_URI 或 2 返回图片本机URI。
第三步:在上步完成图片拍摄之后,图片上传
由于后台采用的是阿里云的追加上传,接收的参数类型为File,因此,在上步得到的base64图片需要转换为File