在iOS中javascript 读取本地文件,以下代码会将文件写入Documents目录(应用程序用户文档目录):
Capture Photo //创建并写入文件 function createAndWriteFile(){ //持久化数据保存 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) { console.log('打开的文件系统: ' + fs.name); fs.root.getFile("hangge.txt", { create: true, exclusive: false }, function (fileEntry) { console.log("是否是个文件?" + fileEntry.isFile.toString()); // fileEntry.name == 'hangge.txt' // fileEntry.fullPath == '/hangge.txt' //文件内容 var dataObj = new Blob(['欢迎访问hangge.com'], { type: 'text/plain' }); //写入文件 writeFile(fileEntry, null); }, onErrorCreateFile); }, onErrorLoadFs); } //将内容数据写入到文件中 function writeFile(fileEntry, dataObj) { //创建一个写入对象 fileEntry.createWriter(function (fileWriter) { //文件写入成功 fileWriter.onwriteend = function() { console.log("Successful file read..."); }; //文件写入失败 fileWriter.onerror = function (e) { console.log("Failed file read: " + e.toString()); }; //写入文件 fileWriter.write(dataObj); }); } //文件创建失败回调 function onErrorCreateFile(error){ console.log("文件创建失败!") } //FileSystem加载失败回调 function onErrorLoadFs(error){ console.log("文件系统加载失败!") }
可以看到hangge.txt文件创建成功,打开后上面的内容写入成功。
2. 持久文件保存路径设置:iOS平台
在config.xml文件中,我们可以配置和更改持久存储位置(PersistentStorageLocation)。
如果没有配置javascript 读取本地文件,可以通过下面的例子查看。 默认情况下保存在程序的Documents文件目录下,其配置如下:
但在这里保存有一个副作用,就是你可以使用iTunes看到这种文件。 如果您想持久保存大量文件,您不想将它们与普通用户文件混合在一起。 我们可以将其更改为以下配置:
您可以看到该文件已保存到应用程序的 Library 文件夹中:
3. 持久文件保存路径设置:Android平台
同样,我们也可以在config.xml文件中配置和更改Android设备中持久化文件的存储位置(PersistentStorageLocation)。