照相机
包含了拍照获取图片/视频功能、调用相册获取图片功能
根据开发者不同需求,可返回的图像数据有1、base64格式字符串;2、图像文件路径;3、本地图像路径;4、file控件的二进制的数据

方法

base64ToFileData

base64ToFileData
(
  • base64Data
)

将base64数据转换成可以上传的二进制数据,主要用于调用微信上传附件时所需要的二进制数据

参数:

名称类型标识描述
base64Data String 必选

base64字符串

示例:

<script>
    var fileData = cmp.camera.base64ToFileData("data:image/jpeg;base64,iVBORw0KGgoAAAANSU.....");
</script>

getPictures

getPictures
(
  • [options]
)
Object

获取图像方法,开发者可通过配置获取自己想要的图像文件数据

参数:

名称类型标识描述
[options] Object 可选

获取图像配置参数对象

名称类型标识描述
[compress] Boolean 可选

是否返回压缩后的图片,true:返回缩略图,false:返回原图

[quality] Number 可选

摄像头品质参数(范围0~100,默认100)

[targetWidth] Number 可选

生成的图像宽度

[targetHeight] Number 可选

生成的图像高度

[saveToPhotoAlbum] Boolean 可选

是否将图像保存到相册

[destinationType] Number 可选

返回的图像数据类型:

  • 0:base64格式(默认)
  • 1:图像文件路径
  • 2:本地图片路径

注:M1平台返回图片路径+base64,纯H5平台只返回base64

[sourceType] Number 可选

获取图像文件的方式:

  • 0:图片库
  • 1:摄像头(默认)
  • 2:相册

[encodingType] Number 可选

图像编码类型:

  • 0:jpeg(默认)
  • 1:png

[pictureNum] Number 可选

选择图片的数量:默认数量:9;
注:在M1平台下不支持多选

[success] Function 可选

执行成功后的回调函数

[error] Function 可选

执行失败后的回调函数

返回值:

[Object]

result 返回值:

  • result.success:成功与否标识,true:成功;false:失败
  • result.files:返回的图片数据(数组)
    • base64:图片的base64字符串(压缩后的,一般作为缩略图展示)
    • filepath:图片的原图路径注:纯H5平台下该值不返回
    • fileSize:图片的原图大小(单位:byte)
    • type:图片的类型
    • fileData:如果是微信端选图片,返回图片的二进制数据

示例:

文件导入路径:
M3App端
 <script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
 <script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
 <script  src="http://cmp/v/js/cmp.js"></script>
 <script  src="http://cmp/v/js/cmp-camera.js"></script>
 ===========================================================================================
 微协同端:6.1sp2版本以下的版本不支持微协同
 <script  src="/seeyon/m3/cmp/js/cmp.js"></script>
 <script  src="/seeyon/m3/cmp/js/cmp-camera.js"></script>
 =========================================================================================
 调用组件
<script>
    cmp.camera.getPictures({
         compress:true,
         quality:100,
         targetWidth:-1,
         targetHeight:-1,
         saveToPhotoAlbum:false,
         destinationType:1,
         sourceType:1,
         encodingType:0,
         success:function(cameraResult){
                //返回的数据格式如下:
                 cameraResult = {
                  success:true,
                  files:[{  /真实的图片数组
                      base64:'data:image/jpg;base64,iVBORw',//图片的base64字符串
                      filepath:"/storage/emulated/0/Tencent/QQfile_recv/QQDataLineGuidePic.png", //图片在手机端的路径
                      fileSize:"1024",  //图片大小
                      type:"png",
                      index:1~9,//选择图片的顺序,ios  iphone6无法确定选择的顺序
                      fileData:file//微信端选中的图片的二进制数据(如果是M3壳,不会返回此数据)
                  }]
              };
             },
         error:function(){
                 //do something
             }
    });
</script>
Top