Dynamics 365 for Phone 使用Xrm.Device.captureImage获取照片

     经过了一些研究发现V9版本的model-driven app已经有了很大的提升,可以实现很多可能,比如本篇要分享的在app端调用相机拍照的功能。

     我在Ribbon上加了个按钮,按钮上绑定了名叫CapturePhoto的Event

    

    看下CapturePhoto中的代码,

function CapturePhoto(clientContext) {
    debugger;
    var client = Xrm.Utility.getGlobalContext().client;
    if (client.getClient() == 'Mobile') {


        var imageOptions = {
            allowEdit: true,
            height: 250,
            width: 400,
            preferFrontCamera: true,
            quality: 100
        };

        Xrm.Device.captureImage(imageOptions).then(
            function success(result) {
                // perform operations on the captured image
                var data =
                {
                    "entityimage": result.fileContent
                }

                var alertStrings = { confirmButtonLabel: 'Yes', text: 'fileName:'+result.fileName+'fileSize:'+result.fileSize };
                var alertOptions = { height: 120, width: 260 };

                Xrm.Navigation.openAlertDialog(alertStrings, alertOptions);
                // Xrm.WebApi.updateRecord("ubr_lost", clientContext.data.entity.getId().replace('{', '').replace('}', ''), data).then(
                //     function success(result) {
                //         var alertStrings = { confirmButtonLabel: 'Yes', text: 'Lost Image updated.' };
                //         var alertOptions = { height: 120, width: 260 };

                //         Xrm.Navigation.openAlertDialog(alertStrings, alertOptions).then(
                //             function success() {
                //                 // perform operations on alert dialog close

                //             },
                //             function (error) {
                //                 console.log(error.message);
                //                 // handle error conditions
                //             }
                //         );
                //     },
                //     function (error) {
                //         Xrm.Utility.alertDialog("Error while updating Account Image : " + error.message, null);
                //         // handle error conditions
                //     }
                // );
            },
            function (error) {
                console.log(error.message);
                // handle error conditions
            }
        );
    }
}

   这里仅作为演示,我把获取到的照片的基本信息弹框出来了,当然获取到照片后可以实现很多功能场景,比如我代码中屏蔽掉的那段把照片作为记录的entityimage更新到记录中,也可以调用OCR的服务接口来进行照片识别,比如名片、证件等的识别。

  

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值