电子邮件作曲家与base64 img附件无法正常工作

时间:2014-12-16 16:22:44

标签: javascript angularjs cordova ionic-framework

我不是专业程序员,但我正在尝试使用移动网络应用中的this插件附加img文件。

现在,该插件说我必须做这样的事情才能添加附件

附件:

'base64:icon.png//iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/...'

我的base64 img就是:

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJ.......

保存在var imgURI

我试过 附件:“base64:icon.png //”+ $ rootScope.imgURI.substring(24),

也没有子串或子串25,26。 在每种情况下,附件都不会传递给电子邮件编辑器。 to:,subject:,body:,工作正常。

我做错了什么?你能帮我么?感谢

1 个答案:

答案 0 :(得分:1)

你可以使用imageData:

var options = {
  destinationType : Camera.DestinationType.FILE_URI,
  sourceType : Camera.PictureSourceType.CAMERA,
  allowEdit : false,
  encodingType: Camera.EncodingType.JPG,
  popoverOptions: CameraPopoverOptions
};

$cordovaCamera.getPicture(options).then(function(imageData) {

  $scope.fileURI = imageData;

}

并且,在您的cordova EmailComposer代码中,您可以执行以下操作:

  var email = {
    app: 'gmail',
    to: YOUR_TO,
    cc: YOUR_CC,
    bcc: YOUR_BCC,
    attachments: [
      $scope.fileURI
    ],
    subject: YOUR_SUBJECT,
    isHtml: true
  };

  $cordovaEmailComposer.open(email).then(null, function () {
    console.log("user cancelled email");
  });

它对我来说很好,例如,我可以在我的Gmail邮件中看到我的附件图片。