2015-06-20 90 views
0

我用相机插件来拍照,我想与大家分享的科尔多瓦社会共享插件,照片,但我不知道怎么...相机插件+科尔多瓦社会共享

的相机工作正常,并显示我拍的照片

ionicApp.controller("functions", function($scope, $rootScope, $cordovaCamera) { 

$rootScope.takePicture = function() { 
    var options = { 
     quality : 75, 
     destinationType : Camera.DestinationType.DATA_URL, 
     sourceType : Camera.PictureSourceType.CAMERA, 
     allowEdit : true, 
     encodingType: Camera.EncodingType.JPEG, 
     targetWidth: 300, 
     targetHeight: 300, 
     popoverOptions: CameraPopoverOptions, 
     saveToPhotoAlbum: false 
    }; 

    $cordovaCamera.getPicture(options).then(function(imageData) { 
     var image = document.getElementById('myImage'); 
     $rootScope.imgURI = "data:image/jpeg;base64," + imageData; 
    }, function(err) { 
     // An error occured. Show a message to the user 
    }); 
} 

});

ionicApp.controller( “共享”,功能($范围,$ cordovaSocialSharing){

$scope.shareAnywhere = function() { 
    $cordovaSocialSharing.share("#DSTRY_CAM", "#DSTRY_CAM", "www/imagefile.png", "http://DSTRYCAM.COM"); 
} 

});

但我怎么能把之前拍摄的照片在这个共享功能?我相信正在改变“www/imagefile.png”,但我不知道如何。

谢谢你,和遗憾,我的英文不好

+0

注入rootScope并更改您的www/imagefile:$ rootScope.imgURI – aorfevre

+0

请在下面查看我的答案@ user5028421。 – filipvkovic

回答

2

请参阅本GitHub的链接。

https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin

此科尔多瓦插件是$ cordovaSocialSharing你实际上是用ngCordova使用反射。您已经使用$ cordovaCamera获得了您的base64图片网址。所以你现在可以使用$ cordovaSocialSharing的share()函数来分享你的图片。

例如,

$cordovaSocialSharing 
    .share(null,"filename.jpg", $rootScope.imgURI, null) 
    .then(function(result) { 
     // success callback 
    }, function(err) { 
     // error callback 
    }); 

这将让你通过在iOS和Android的开放内置份额对话分享您的照片(“filename.jpg”的文件名下)。很简单。

编辑:您还需要在您的控制器中包含$ rootScope。

+0

对不起,但不起作用,当我把$ rootScope.imgURI,功能不起作用 – user5028421

+0

请不要忘记在你的“共享”控制器参数@ user5028421中添加$ rootScope引用。你有他们在你的“功能”控制器。 – filipvkovic

+0

OMG所有这一次是这个问题,哈哈非常感谢你! – user5028421