создание файлов в tizen

Я пытаюсь создать новый файл в tizen. Мой код

var dir;
var newDir = dir.createDirectory("vij");

Но он получает ошибку, например

TypeError: 'undefined' is not an object (evaluating 'dir.createDirectory')

Я пробовал тот же пример, который приведен в документации Tizen. Пожалуйста, дайте идею


person my name is xyz    schedule 16.08.2012    source источник


Ответы (5)


Просто объявите dir вот так:

var dir = tizen.filesystem;
person piotrowskim    schedule 24.07.2013

Из-за того, что 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

Во-первых, вам нужно 2 привилегии в config.xml для записи в файлы:
<tizen:privilege name="http://tizen.org/privilege/filesystem.write"/> <tizen:privilege name="http://tizen.org/privilege/filesystem.read"/>
Может быть добавлено вручную или с помощью вкладки "previlages". После этого вы должны использовать Методы API файловой системы - createDirectory

tizen.filesystem.resolve( 'images', function(dir) { var dir; //Directory object obtained from filesystem API var newDir = dir.createDirectory("newDir"); console.log("Mount point Name is " + dir.path); }, function(e) { console.log("Error: " + e.message); }, "rw" ); В результате ваша папка будет в / opt / usr / media / Images /

person Ender    schedule 20.11.2014

вот как вы добавляете файл в веб-приложение tizen:

Создать файл:

Создает новый пустой файл в указанном месте относительно каталога. "Файл createFile (DOMString relativeFilePath);"

Пример:

tizen.filesystem.resolve(
   absolute_path, 
   function(dir){
    dir.createFile(<filename>);
   }, function(e) {
     console.log("Error" + e.message);
   }, "rw"
);

Дополнительную информацию можно найти по этой ссылке ниже: http://howdoudoittheeasiestway.blogspot.in/2015/02/writing-and-reading-from-file-system.html

person lahir    schedule 01.07.2015

Перед использованием объекта каталога вам необходимо разрешить объект файла или каталога из API tizen.filesystem.resolve.

В вашем коде ваш объект dir просто содержит пустую строку.

Итак, сначала получите объект File (file & dir) из API tizen.filesystem.resolve.

ниже tizen.filesystem.resolve api, вы можете получить файловый объект с помощью метода FileSuccessCallback onsuccess.

void resolve(DOMString location, FileSuccessCallback onsuccess, optional ErrorCallback? onerror, optional FileMode? mode);

как ниже код.

tizen.filesystem.resolve(
   'images',
   function(dir) {
     //do something what you want
     console.log("Mount point Name is " +  dir.path);
   }, function(e) {
     console.log("Error: " + e.message);
   }, "r"
 );

В Справочнике по API есть полезный учебник и пример кода.

Учебное пособие по файловой системе https://developer.tizen.org/development/tutorials/web-application/tizen-features/base/filesystem#create

Справочник по API файловой системы https://developer.tizen.org/dev-guide/latest/org.tizen.web.apireference/html/device_api/mobile/tizen/filesystem.html.

И ниже таблица виртуальных корней

images - the location for images
videos - the location for videos
music - the location for sounds
documents - the location for documents
downloads - the location for downloaded items
ringtones - the location for ringtones (read-only location)
camera - the location for the pictures and videos taken by a device (supported since Tizen 2.3)
wgt-package - the location for widget package which is read-only
wgt-private - the location for a widget's private storage
wgt-private-tmp - the location for a widget's private volatile storage
person Byonggon Chun    schedule 24.02.2016