写入文件后,PhoneGap Email Attach

时间:2014-11-15 06:06:04

标签: android cordova phonegap-build email-attachments

我正在使用手机差距应用程序。在这里,我正在创建一个文件并写入该文件。

为此,我使用以下代码。

 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
        // create the file if it doesn't exist
        fileSystem.root.getFile('myFile.txt', {create: true, exclusive: false}, function(file) {
            // create writer
            file.createWriter(function(writer) {
                // write
                writer.write("Hellooo");

               }, fileSystemError);
        }, fileSystemError);
    }, fileSystemError);

我正在撰写一封附有此文本文件附件的电子邮件。为此,我使用以下代码。

cordova.plugins.email.open({
        subject:     'Cordova Icon',
        attachments: ['file:///data/data/com.example.mail/myFile.txt']
    });

但是我无法附加档案。但是静态文件附加了此代码,这些文件是使用DDMS文件资源管理器手动放置的。

1 个答案:

答案 0 :(得分:1)

您的代码在root中创建文件,但尝试从data / data / com.example.mail /中读取。这应该有效:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
  //Get the correct directory
  fileSystem.root.getDirectory("data/data/com.example.mail/", {}, function (dir) {
    //create the file if it doesn't exist
    dir.getFile('myFile.txt', { create: true, exclusive: false }, function (file) {
      // create writer
      file.createWriter(function (writer) {
        // write
        writer.write("Hellooo");    
      }, fileSystemError);
    }, fileSystemError);
  }, fileSystemError);
}, fileSystemError);

我在这里将目录编写为字符串,但最好使用cordova.file.applicationStorageDirectory,您可以阅读here

总的来说,我发现在处理这些东西时实际浏览文件系统非常有用。如果您希望能够在手机中无需root权限,则可以保存到Android / data / com.example.mail(cordova.file.externalApplicationStorageDirectory)。