从cordova文件API v1.2.0到重要文件系统目录的URL是使用预定义的cordova.file。*常量提供的。如果我尝试在任何cordova预定义目录中创建一个新文件(例如cordova.file.dataDirectory),那么在尝试调用函数" getFile"时,我会得到代码为5的错误。该文件未创建。
我的JavaScript代码如下:
function FSready(fileSystem) {
gFileSystem = fileSystem;
gFileRoot = cordova.file.dataDirectory;
filepathx = gFileRoot + "csdtest.txt";
gFileSystem.root.getFile(filepathx, {create: true, exclusive: false}, fileCreated, FSfail);
}
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, FSready, FSfail);
}
我只能创建文件而不提供任何文件路径:
gFileSystem.root.getFile("test.txt", {create: true, exclusive: false}, fileCreated, FSfail);
在这种情况下,文件始终(在模拟器中)在目录
中创建file:///Users/mac/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/EB4E48F9-69F9-4CE9-AD3E-6E949071BC2D/Library/NoCloud/csdtest.txt
在config.xml中,我有以下内容:
<preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
<preference name="iosPersistentFileLocation" value="Library" />
我也尝试在iPad上运行此代码并获得相同的结果。我在使用iOS 7.1的Cordova 3.5.0上,我使用的插件版本是org.apache.cordova.file 1.3.2-dev&#34; File&#34;和org.apache.cordova.file-transfer 0.4.8-dev&#34;文件传输&#34;。
感谢您的帮助!