javascript - 带有 base64 img 附件的电子邮件编辑器无法正常工作

标签 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:、主题:、正文: 工作正常。

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

最佳答案

您可以使用图像数据:

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 邮件中看到附加的图像。

关于javascript - 带有 base64 img 附件的电子邮件编辑器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27509218/

相关文章:

angularjs - Angular jsFiddle 示例不起作用

AngularJS ng 类 if-else 表达式

javascript - Phonegap 转换 jquerymobile

javascript - IE7 中非常奇怪的 JavaScript 错误

javascript - 我如何将rails form_helper标签附加到html

javascript - Java脚本如何传递附加事件的对象

javascript - AngularJS 服务不返回 JSON 数据

android - cordova 文件传输插件下载未显示在图片库中

android - Cordova 构建命令在命令提示符下失败。在根项目 'cdvBuildDebug' 中找不到任务 'android'

javascript - 我的图像更改错误