你需要使用这个插件:https://www.npmjs.com/package/cordova-plugin-file
我不知道您使用的是什么版本的cordova,以及这个插件是否已更新,但是当我使用它时,它不适用于WindowsPhone。适用于 Android 和 iOS。
获取文件系统:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, downloadFile, fileSystemFail);
下载文件功能:
downloadFile: function(fileSystem){
// your code
}
创建目录:
var directoryEntry = fileSystem.root;
var folderName = "Folder";
directoryEntry.getDirectory(folderName, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail);
onDirectorySuccess 和 onDirectoryFail 是这样的函数:
onDirectorySuccess: function(parent){
console.log(parent);
},
onDirectoryFail: function(error){
console.log("Unable to create new directory: " + error.code);
}
获取目录中文件的路径:
var filePath = directoryEntry.toURL() + "/" + folderName + "/" + fileName;
获取文件:
directoryEntry.getFile(folderName + "/" + fileName, { create: true, exclusive: false }, onFileSuccess, onFileFail);
要先删除一个文件,你需要得到它:
directoryEntry.getFile(folderName + "/" + fileName, { create: true, exclusive: false }, onFileSuccessRemove, onFileFail);
然后在成功函数中:
function onFileSuccessRemove(entry) {
entry.remove();
}
我的应用程序正在下载文件,所以这是将文件保存在目录中的代码:
var fileTransfer = new FileTransfer();
fileTransfer.download(URL, filePath, downloadComplete, downloadFail, true);
这不是你的情况,但我希望它有所帮助。