>我正在使用Phone Gap应用程序。在这种情况下,我正在创建一个文件并写入该文件。
为此,我使用以下代码。
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 文件资源管理器手动放置的。
您的代码在根目录中创建文件,但尝试从 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
。
总的来说,我发现在处理这些东西时实际浏览文件系统非常有用。如果您希望能够在手机中执行此操作而无需生根,则可以保存到Android/data/com.example.mail(cordova.file.externalApplicationStorageDirectory
)。