如何在Ionic Framework Android中将文件附加到电子邮件中?

时间:2015-08-11 00:16:26

标签: android ios cordova ionic-framework ionic

我正在使用Ionic Framework构建一个iOS / Android应用程序,该应用程序将sqlite数据写入CSV文件,然后将该文件附加到电子邮件并发送。以下代码在iOS(实际设备iPhone 5)上正常工作。

我没有Android设备,但在Android模拟器(nexus 5)中,发送的文件从不具有文件附件(尽管模拟器显示它确实存在)。

我应该用不同的方式编写这段代码吗?

我在这里查看了文档,但没有说明

https://github.com/katzer/cordova-plugin-email-composer#adding-attachments

      $cordovaFile.writeFile(cordova.file.dataDirectory,
                             "PatientEncounters.csv",
                             data.join("\n"),
                             true)
        .then(function (success) {
          $cordovaEmailComposer.isAvailable().then(function() {
            var emailOpts = {
              to: [email],
              attachments: ['' +
                            cordova.file.dataDirectory.replace('file://','') + "PatientEncounters.csv"],
              subject: 'Patient Encounters',
              body: 'A CSV containing Patient Encounters is attached',
              isHtml: false
            };

            $cordovaEmailComposer.open(emailOpts).then(null, function () {
              // user cancelled email
            });

            return;
          }, function (error) {
            return;
          });


        }, function () {
          // not available
        });

1 个答案:

答案 0 :(得分:1)

我的问题是使用cordova.file.dataDirectory而不是cordova.file.externalDataDirectory。 android中的邮件应用程序不允许从内部存储中附加文件。