【问题标题】:Camera plugin + cordova social sharing相机插件+cordova社交分享
【发布时间】:2017-03-24 13:55:16
【问题描述】:

我正在使用相机插件拍照,我想通过 cordova 社交分享插件分享那张照片,但我不知道如何...

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

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("share", function($scope, $cordovaSocialSharing) {

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

});

但是我怎样才能把之前拍的照片放到这个分享功能中呢?我相信正在更改“www/imagefile.png”,但我不知道如何。

谢谢你,对不起我的英语不好

【问题讨论】:

  • 注入 rootScope 并使用:$rootScope.imgURI 更改您的 www/imagefile
  • 请在下面查看我的回答,@user5028421。

标签: angularjs ionic-framework phonegap-plugins ionic ngcordova


【解决方案1】:

请参考此 GitHub 链接。

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

这个cordova 插件是您实际与ngCordova 一起使用的$cordovaSocialSharing 的反映。您已经使用 $cordovaCamera 获得了 base64 图像 URL。所以你现在可以使用 $cordovaSocialSharing 的 share() 函数来分享你的图片了。

例如,

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

这将让您通过在 iOS 和 Android 中打开内置的共享对话框来共享您的图片(文件名为“filename.jpg”)。很简单。

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

【讨论】:

  • 对不起,但对我不起作用,当我输入 $rootScope.imgURI 时,该功能不起作用
  • 请不要忘记在您的“共享”控制器参数@user5028421 中添加 $rootScope 引用。您将它们放在“功能”控制器中。
  • OMG 一直都是这个问题哈哈,非常感谢!!
猜你喜欢
  • 1970-01-01
  • 2012-07-29
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多