Из-за того, что var dir;
в вашем коде вы фактически объявили неопределенную dir
переменную, вы получите эту ошибку, потому что dir
будет undefined
.
Если вы проверите API в документации, это можно сделать следующим образом:
var documentsDir;
function onsuccess(files) {
for(var i = 0; i < files.length; i++) {
console.log("File Name is " + files[i].name); // displays file name
}
var testFile = documentsDir.createFile("test.txt");
if (testFile != null) {
testFile.openStream(
"w",
function(fs){
fs.write("HelloWorld");
fs.close();
}, function(e){
console.log("Error " + e.message);
}, "UTF-8"
);
}
}
function onerror(error) {
console.log("The error " + error.message + " occurred when listing the files in the selected folder");
}
tizen.filesystem.resolve(
'documents',
function(dir){
documentsDir = dir; dir.listFiles(onsuccess,onerror);
}, function(e) {
console.log("Error" + e.message);
}, "rw"
);
Два приведенных ниже примера, которые вы найдете в документации, имеют смысл только в контексте, приведенном выше, когда вызывается tizen.filesystem.resolve.
var newDir = dir.createDirectory("newDir");
var anotherNewDir = dir.createDirectory("newDir1/subNewDir1");
поэтому, если вы хотите создать файл, вы выполните приведенный выше код (первый полностью), если файл создается в обратном вызове при успешном завершении listFiles, если вы хотите создать каталог, вам нужно сделать это:
tizen.filesystem.resolve(
'documents',
function(dir){
var newDir = dir.createDirectory("vij");
}, function(e){
console.log("Error" + e.message);
}, "rw"
);
person
Eduard Florinescu
schedule
28.08.2012