使用IBM Worklight将文件保存在手机存储中

时间:2014-07-14 10:58:02

标签: javascript ibm-mobilefirst

我正在尝试使用Worklight实现以下功能:

我有一个JS变量,其值很长。 我需要创建一个包含变量值的文件,并将文件保存到用户的手机设备中。

Worklight中是否有文件处理功能允许在设备存储中保存文件?

2 个答案:

答案 0 :(得分:1)

您需要使用Cordova文件插件并使用FileWriter object编写文件并使用FileReader进行阅读。

答案 1 :(得分:1)

Worklight没有提供任何API来实现文件保存和检索功能。但是你可以使用cordova插件来实现同样的目的。请根据您的需要找到以下代码。

//It will fetch the sample.txt if already available else it will create a new file named sample.txt
    fileSystem.root.getFile("sample.txt", {create: true, exclusive: false}, gotEntryForFile, fail);

    function gotEntryForFile(entry) {
        entry.createWriter(gotWriterForFile, fail);
    }

    function gotWriterForFile(writer) {
        // move  the cursor to end of the file
        writer.seek(writer.length);
        // Write the vaules of your varibale 
        writer.write(varibaleForFileUse);
    }

// To read the text from file
 function gotReaderForFile(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    // To read the file as text
    reader.readAsText(file);
};

使用此插件时请注意以下事项。

  • 首先,您必须为文件操作启用权限。对于iOS编辑Cordova.plist
  • 它仅支持iOS,Android,Windows Phone 7,BlackBerry WebWorks(> OS 5.0)
  • 对于iOS编码参数不受支持,始终使用UTF8编码。
  • 编写器总是从文件的开头写。更好用首先去EOF
  • 如果您使用的是iOS,则可以按setMetadata设置元数据。其他操作系统
  • 不支持它