2013-08-07 12 views
8

Mit Node-Webkit versuche ich, eine Textdatei in einem benutzerdefinierten lokalen Ordner aus einer Web-Worker-JS-Datei zu erstellen und zu schreiben. Ich habe versucht, mit requestFileSystemSync(), .root.getFile(), .createWriter(), etc., aber ich bin nicht sicher, wo diese Datei gespeichert ist (kann es in einem definierten lokalen Ordner geschrieben werden, oder ist es "sandboxed" zu einem speziellen Ordner Speicherort?).Node-Webkit: Wie erstelle ich eine Datei im lokalen Dateisystem?

Kann mir jemand Tipps geben, wie ich am besten Textdateien von einem Web Worker zu einem beliebigen lokalen Ordner erstellen kann? Das heißt, im lokalen Dateisystem außerhalb eines Sandboxed-Dateisystems?

Danke.

+0

Ich bin ziemlich neugierig, welche Art von Anwendung Sie schreiben. Wenn es Sie nicht stört, fragen Sie mich, für was sind die Web-Worker und warum müssen Sie überall im Dateisystem schreiben? –

Antwort

16

Es klingt wie Sie versuchen, die Web-Dateisystem API zu verwenden. Dies könnte eine vernünftige Lösung sein, es würde Ihnen erlauben, Ihre App als eine normale Webseite zu betreiben, jedoch ist die Web-Dateisystem-API sandboxed.

node-webkit bietet "Komplette Unterstützung für Node.js APIs", was meiner Meinung nach bedeutet, dass Sie the node.js file system API verwenden können, um irgendwo in das Dateisystem zu schreiben. Ziemlich cool. So etwas wie dies funktionieren soll:

var fs = require('fs'); 
fs.writeFile("path/to/anywhere/test.txt", "Hi mom!", function(err) { 
    if(err) { 
     alert("error"); 
    } 
}); 

Auch node-webkit web-workers do not support require I hear. Also musst du deine Dateisystem-Sachen in deinem Haupt-Thread machen.

+0

Danke für diese Info und Tipp. Nach vielem Googeln habe ich auch festgestellt, dass es nicht möglich ist, von einem Web-Worker in eine lokale Datei zu schreiben. Daher werde ich tun, was Sie vorgeschlagen haben, und die eigentliche Datei aus meinem Hauptthread schreiben. Danke noch einmal! – cohoman

Verwandte Themen