fs.writeFile()不适用于Meteor 0.6.5.1

时间:2013-09-04 14:09:47

标签: meteor

我使用Meteor 0.6.4.1并使用Npm.require('fs')fs.writeFile()来保存文件。以下是我用来测试它的代码:Gist for save files。我将Meteor更新为0.6.5.1并收到此错误:

(STDERR) app/server/save_file.js:18
(STDERR)         throw (new Meteor.Error(500, 'Failed to save file. ' + err));
(STDERR)                ^
(STDERR) Error: Failed to save file. Error: ENOENT, open 'public/carlos.png' [500]
(STDERR)     at Meteor.methods.saveFile (app/server/save_file.js:18:16)
(STDERR)     at fs.writeFile (fs.js:746:21)
(STDERR)     at Object.oncomplete (fs.js:297:15)

我知道Meteor 0.6.5上的节点版本从0.8.18变为0.8.24。这是0.8.24节点版本或Meteor 0.6.5版本的错误?它有什么方法可以解决它,或者我必须使用0.6.4.1 Meteor版本?

1 个答案:

答案 0 :(得分:4)

在Meteor 0.6.5中,他们更改了服务器上下文中的当前工作目录,它曾经是Meteor根目录,但它现在是MyProject/.meteor/local/build/programs/server

因此,如果您想从服务器端应用访问公共文件夹中的内容,可以尝试以下路径:../../../../../public/

警告:将文件写入public可能会导致服务器重新启动并导致未定义的行为。