TIZEN.FILESYSTEM FILESSYSTEM ПРЕДЛОЖЕНИЕ ВЫПУСКА -- tizen поле с участием tizen-web-app пол Связанный проблема

tizen.filesystem FileSystem append issue


0
vote

проблема

русский

У меня в настоящее время есть веб-приложение, которое может читать и записывать файлы на Samsung Tizen TV V2.4 (прошивка: T-HKMLAKUC-1006.4)

Добавить надувательство, кажется, не работает.

Я могу сделать следующее без проблем вообще:

 <код> tizen.filesystem.resolve('documents/log.txt', (file) => {     file.openStream("w", (fs) => {          fs.write('Tizen .. '); // Works          console.log('written to log Tizen ... '); // View if its running the code block          // This block is ran as i get the console log from this function      }, (e) => {          console.log("Error " + e.message);         // No Errors thrown      }, "UTF-8"); }, (e) => {      // No Errors thrown  }, "a");   

Если я изменю «W» на «A», который должен добавить к файлу, файл пуст

 <код> tizen.filesystem.resolve('documents/log.txt', (file) => {     file.openStream("a", (fs) => {          console.log('written to log Tizen ... '); // View if its running the code block          // This block is ran as i get the console log from this function          fs.write('Tizen .. '); // When i read it nothing here      }, (e) => {         console.log("Error " + e.message);     }, "UTF-8"); });   

У кого-нибудь еще видели эту проблему? Спасибо

Если я отслеживаю журналы консоли из этой функции, я получаю следующее:

 <код> 4:59:21 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "" // View the file  4:59:21 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "running append to file" // Run the append function 4:59:21 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "written to log Tizen ... " // Append function shows its running the success block  4:59:22 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "Tizen .. " // View the file (and its appended)  4:59:23 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "running append to file" // Run the append function again 4:59:23 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "written to log Tizen ... " // Shows its running the append function correctly 4:59:24 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "" // View the file and its empty   
Английский оригинал

I currently have a web application that can read and write files on a Samsung Tizen TV v2.4 (Firmware: T-HKMLAKUC-1006.4)

Append hover does not seem to work.

I can do the following with no issues at all:

tizen.filesystem.resolve('documents/log.txt', (file) => {     file.openStream("w", (fs) => {          fs.write('Tizen .. '); // Works          console.log('written to log Tizen ... '); // View if its running the code block          // This block is ran as i get the console log from this function      }, (e) => {          console.log("Error " + e.message);         // No Errors thrown      }, "UTF-8"); }, (e) => {      // No Errors thrown  }, "a"); 

If i change the 'w' to 'a' which should append to the file the file is empty

tizen.filesystem.resolve('documents/log.txt', (file) => {     file.openStream("a", (fs) => {          console.log('written to log Tizen ... '); // View if its running the code block          // This block is ran as i get the console log from this function          fs.write('Tizen .. '); // When i read it nothing here      }, (e) => {         console.log("Error " + e.message);     }, "UTF-8"); }); 

Has anyone else seen this issue? Thanks

If i monitor the console logs from this function i get the following:

4:59:21 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "" // View the file  4:59:21 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "running append to file" // Run the append function 4:59:21 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "written to log Tizen ... " // Append function shows its running the success block  4:59:22 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "Tizen .. " // View the file (and its appended)  4:59:23 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "running append to file" // Run the append function again 4:59:23 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "written to log Tizen ... " // Shows its running the append function correctly 4:59:24 pm | YaBRm3kxLCctUNmhl034oLe0QQA= | "" // View the file and its empty 
</div
     
   
   

Список ответов

1
 
vote
vote
Лучший ответ
 

Я думаю, что ошибка в прошивке, поэтому режим добавления не работает правильно. Я протестировал на версии прошивки T-HKMLAKUC-1008.2, одинаковую ошибку воспроизводить. Мой обходной путь, прочитайте текущий контент из файла, слиться с новым контентом и напишите снова в файл.

1) Создать файл

 <код>   function createFile() {         tizen.filesystem.resolve('downloads', (dir) => {             var tizenFile = dir.createFile('/2017_10_08_13_13_21_826.log');         }, (error) => {             console.error("error resolve dir", error);         }, 'rw');     }   

2) Читайте текущий контент из файла, добавьте к NewContents и напишите снова в файл.

 <код> function appendToFile(newContents) {     tizen.filesystem.resolve('downloads/2017_10_08_13_13_21_826.log', (tizenFile) => {         tizenFile.readAsText((currentContent) => {             var writeContents = currentContent + newContents;             tizenFile.openStream('w', (stream) => {                 stream.write(writeContents);                 stream.close();             }, (error) => {                 console.error("error open stream content", error);             }, 'UTF-8');         }, (error) => {             console.error("error read current content", error);         }, 'UTF-8')     }, (error) => {         console.error("error resolve log file", error);     }, 'r'); }   

Режим 'W' работает правильно.

 

I think the bug in firmware, so append mode doesn't work correctly. I tested on firmware version T-HKMLAKUC-1008.2, the same error reproduce. My workaround, read current content from file, merge with new content and write again to file.

1) Create file

  function createFile() {         tizen.filesystem.resolve('downloads', (dir) => {             var tizenFile = dir.createFile('/2017_10_08_13_13_21_826.log');         }, (error) => {             console.error("error resolve dir", error);         }, 'rw');     } 

2) Read current content from file, append with newContents and write again to file.

function appendToFile(newContents) {     tizen.filesystem.resolve('downloads/2017_10_08_13_13_21_826.log', (tizenFile) => {         tizenFile.readAsText((currentContent) => {             var writeContents = currentContent + newContents;             tizenFile.openStream('w', (stream) => {                 stream.write(writeContents);                 stream.close();             }, (error) => {                 console.error("error open stream content", error);             }, 'UTF-8');         }, (error) => {             console.error("error read current content", error);         }, 'UTF-8')     }, (error) => {         console.error("error resolve log file", error);     }, 'r'); } 

Mode 'w' works correctly.

</div
 
 
   
   
0
 
vote

Кажется, что ошибка может быть даже с разрешением () здесь, как вы говорите OpenStream (), не бросает ошибку в журнале. Попробуйте этот код вместо этого поймать сообщение об ошибке и отладки.

 <код> tizen.filesystem.resolve('documents/log.txt', (file) => {     file.openStream("a", (fs) => {         fs.write('Tizen .. '); // When i read it nothing here     }, (e) => {         console.log("Error at openStream:" + e.message);     }, "UTF-8");     ,      function(e) {      console.log("Error at resolve:" + e.message);    } });    
 

Seems the error could even be with resolve() here as you are saying openStream() is not throwing error in log . Try this code instead to catch the error message and debug thereby.

tizen.filesystem.resolve('documents/log.txt', (file) => {     file.openStream("a", (fs) => {         fs.write('Tizen .. '); // When i read it nothing here     }, (e) => {         console.log("Error at openStream:" + e.message);     }, "UTF-8");     ,      function(e) {      console.log("Error at resolve:" + e.message);    } });  
</div
 
 
 
 
0
 
vote

Я делясь примерным кодом для вас здесь. Это работало нормально на моей машине. Убедитесь, что вы пытаетесь прочитать файл после завершения процесса добавления.

 <код> function createFile(){// Create file:        var newDir, newFile;      tizen.filesystem.resolve("documents", function(dir)              {                newDir = dir.createDirectory("myFDir3");     //Create new directory                newFile = newDir.createFile("myFile.txt");   //Create new File             },         function(e) {                 console.log("Error " + e.message);             }     ); }  function writeToFile(){     //Write to File     var fileW;     tizen.filesystem.resolve("documents", function(dir)          {            fileW = dir.resolve("myFDir3/myFile.txt");            fileW.openStream( "w", function(fs) {                  fs.write("test write");                  fs.close();                  console.log("Write Successful");             }, function(e) {                  console.log("Error " + e.message);             }, "UTF-8");         }); }  function appendToFile(){      //Append to File        var fileA;        tizen.filesystem.resolve("documents", function(dir)             {               fileA = dir.resolve("myFDir3/myFile.txt");               fileA.openStream( "a", function(fs) {                  fs.write(" and test write again");                  fs.close();                  console.log("Append Successful");                }, function(e) {                  console.log("Error " + e.message);                }, "UTF-8");            });     }  function readFromFile(){     // Read from file:     var fileR;       tizen.filesystem.resolve("documents", function(dir)          {            fileR = dir.resolve("myFDir3/myFile.txt");            fileR.openStream("r", function(fs) {                     var text = fs.read(fileR.fileSize);                     fs.close();                     console.log(text);                 }, function(e) {                     console.log("Error " + e.message);                 }, "UTF-8");         }); }   
 

I am sharing a sample code for you here. It worked fine on my machine. Make sure you are trying to read the file once append process is completed.

function createFile(){// Create file:        var newDir, newFile;      tizen.filesystem.resolve("documents", function(dir)              {                newDir = dir.createDirectory("myFDir3");     //Create new directory                newFile = newDir.createFile("myFile.txt");   //Create new File             },         function(e) {                 console.log("Error " + e.message);             }     ); }  function writeToFile(){     //Write to File     var fileW;     tizen.filesystem.resolve("documents", function(dir)          {            fileW = dir.resolve("myFDir3/myFile.txt");            fileW.openStream( "w", function(fs) {                  fs.write("test write");                  fs.close();                  console.log("Write Successful");             }, function(e) {                  console.log("Error " + e.message);             }, "UTF-8");         }); }  function appendToFile(){      //Append to File        var fileA;        tizen.filesystem.resolve("documents", function(dir)             {               fileA = dir.resolve("myFDir3/myFile.txt");               fileA.openStream( "a", function(fs) {                  fs.write(" and test write again");                  fs.close();                  console.log("Append Successful");                }, function(e) {                  console.log("Error " + e.message);                }, "UTF-8");            });     }  function readFromFile(){     // Read from file:     var fileR;       tizen.filesystem.resolve("documents", function(dir)          {            fileR = dir.resolve("myFDir3/myFile.txt");            fileR.openStream("r", function(fs) {                     var text = fs.read(fileR.fileSize);                     fs.close();                     console.log(text);                 }, function(e) {                     console.log("Error " + e.message);                 }, "UTF-8");         }); } 
</div
 
 

Связанный проблема

0  Вам нужно руководство о том, как сделать развитие в VirtualBox Ubuntu и отладку с эмулятором на хосте ОС Windows  ( Need guide on how to make development in virtualbox ubuntu and debug with an emu ) 
У меня есть разработка Ubuntu OS работает на виртуальной коробке на хосте Windows 7. Я пытался начать разработку приложения TIZEN, но ответ эмулятора чрезвыча...

1  Ошибка при развертывании Tizen App - Не удалось получить информацию с устройства  ( Error when deploying tizen app failed to get a device information ) 
<Р> У меня возникли проблемы с развертыванием приложения Tizen на мой Samsung Smart TV. Некоторое время он работал очень хорошо, но с обновлением Tizen студии ...

1  Установите прослушиватель Bluetooth на Tizen носимый  ( Set bluetooth listener on tizen wearable ) 
Я использую Tizen носимый SDK, чтобы создать часовое лицо, и хотя я могу получить состояние питания Bluetooth, используя <код> blueAdapter = tizen.bluetooth...

1  Нативное обслуживание Tizen не получает привилегии датчика  ( Tizen native service is not getting sensor privileges ) 
Я работаю над приложением Tizen Hybrid (Web UI + Native Service) для шестерни S3 пограничных часов. Я получаю привилегии датчика в веб-интерфейсе веб-интерфей...

1  Как протереть или стирать данные носимыми Tizen IDE?  ( How to wipe or erase data wearable by tizen ide ) 
Я создаю приложение, которое может стирать данные о носимых (2.x) с Tizen IDE? Как это сделать? Я пытаюсь стереть данные с помощью « http://tizen.org/priv...

1  Пример WebViewer Tizen Mobile 2.3  ( Tizen mobile 2 3 webviewer example ) 
Есть ли какие-либо примерные проекты для Tizen 2.3 для реализации WebView в вашем приложении. Это не в образцах с официальным SDK. ...

1  Как загрузить удаленное изображение в тизенских носителях с использованием родных  ( How to load remote image in tizen wearables using native ) 
Привет, я новичок в Tizen нативное развитие и хотел бы знать, как загрузить удаленные изображения, такие как загрузка, используя URL. Кто-нибудь может помочь?...

0  Как отобразить растровое изображение из URL-адреса изображения?  ( How to display a bitmap from an image url ) 
Я декодировал изображение из URL, используя <код> DecodeUrl() и функция возвращается <код> E_SUCCESS , но позже журнал показывает, как "httptransaction [0] у...

2  Tizen: собственный сервис не запущен при запуске из гибридного приложения  ( Tizen native service not started when launched from a hybrid app ) 
Существует тизное гибридное носимое применение: нативное обслуживание и веб-интерфейс веб-интерфейса. Есть следующий код для запуска службы от JavaScript: ...

0  Как я могу увидеть журнал ошибок, когда я запускаю носимый WGT через механизм передач?  ( How can i see the error log when i run wearable wgt through gear manager ) 
Я запустил мое приложение для Android (который включает в себя носимый WGT) на моем Samsung S4. Он также установил WGT для My Samsung Gear 2 с помощью менедже...

0  Приложение приложения Helloaccessory Samsung не подключается (поставщик и потребитель)  ( Helloaccessory samsung sample app not connecting provider and consumer ) 
Как я могу подключить приложение Provider к приложению потребителя? Я успешно подключил его с помощью эмулятора Samsung S4 и Tizen. Но теперь я использую S4 и...

0  Якорные теги не работают в Tizen Web App  ( Anchor tags are not working in tizen web app ) 
Я создаю Tizen Web App для носимого устройства, и я хочу маршрутизировать до определенной точки на отдельной странице, но якорные теги, похоже, не работают. О...

0  Push Message на Samsung Tizen Push Server с использованием C, Winsock (Windows)  ( Push message in samsung tizen push server using c winsockwindows ) 
Я хочу отправлять сообщения на «Samsung Tizen Pusher Server». Я сделал же программу, используя C #, WebRequest. Программа работает очень хорошо. Теперь я ...

0  Для старой версии Tizen - Как удалить приложение в Tizen Emulator?  ( For old version of tizen how to uninstall an app in tizen emulator ) 
<Сильный> Этот вопрос для одной из самых ранних версий Tizen и не распространяется на текущие версии Я просто начинаю с Tizen. Мне удалось установить прило...

0  Tizen носимого невидимым / фон приложения (добавление жестов)  ( Tizen wearable invisible background app adding gestures ) 
<Р> Мне интересно, если это возможно, чтобы добавить некоторый жест Tizen носимых, чтобы сделать возможным, чтобы активировать экран, используя конкретный жест...

Связанный проблема

0  Вам нужно руководство о том, как сделать развитие в VirtualBox Ubuntu и отладку с эмулятором на хосте ОС Windows 
1  Ошибка при развертывании Tizen App - Не удалось получить информацию с устройства 
1  Установите прослушиватель Bluetooth на Tizen носимый 
1  Нативное обслуживание Tizen не получает привилегии датчика 
1  Как протереть или стирать данные носимыми Tizen IDE? 
1  Пример WebViewer Tizen Mobile 2.3 
1  Как загрузить удаленное изображение в тизенских носителях с использованием родных 
0  Как отобразить растровое изображение из URL-адреса изображения? 
2  Tizen: собственный сервис не запущен при запуске из гибридного приложения 
0  Как я могу увидеть журнал ошибок, когда я запускаю носимый WGT через механизм передач? 
0  Приложение приложения Helloaccessory Samsung не подключается (поставщик и потребитель) 
0  Якорные теги не работают в Tizen Web App 
0  Push Message на Samsung Tizen Push Server с использованием C, Winsock (Windows) 
0  Для старой версии Tizen - Как удалить приложение в Tizen Emulator? 
0  Tizen носимого невидимым / фон приложения (добавление жестов)