2013-08-07 2 views
8

С помощью Node-Webkit я пытаюсь создать и записать в текстовый файл в пользовательской локальной папке из файла js рабочего пользователя. Я пробовал использовать requestFileSystemSync(), .root.getFile(), .createWriter() и т. Д., Но я не уверен, где этот файл сохраняется (может ли он быть записан в определенную локальную папку или он «изолирован» в специальную папку?).Node-Webkit: как создать файл в локальной файловой системе?

Может ли кто-нибудь предложить совет по наилучшему способу создания текстовых файлов от веб-рабочего в произвольном локальном каталоге? То есть, в локальной файловой системе вне изолированной файловой системы?

Спасибо.

+0

Мне очень любопытно, какой тип приложения вы пишете. Если вы не возражаете, я спрашиваю, для чего нужны веб-работники и зачем вам писать всюду в файловой системе? –

ответ

16

Похоже, вы пытаетесь использовать API веб-файловой системы. Это может быть разумным решением, это позволит вам запускать ваше приложение как обычную веб-страницу, однако API веб-файловой системы изолирован.

node-webkit предлагает «Полная поддержка API Node.js», что, я думаю, означает, что вы можете использовать the node.js file system API для записи в любом месте файловой системы. Довольно круто. Так что-то подобное должно работать:

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

Кроме того, node-webkit web-workers do not support require I hear. Поэтому вам нужно будет делать свои файлы в основном потоке.

+0

Спасибо за эту информацию и подсказку. После многих Googling я также пришел к выводу, что писать в локальный файл с веб-работника невозможно. Таким образом, я сделаю так, как вы предложили, и выполните фактическую запись файла из моего основного потока. Еще раз спасибо! – cohoman

Смежные вопросы