3

我正在使用 Meteor 0.6.4.1 并使用Npm.require('fs')andfs.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版本的bug?有什么办法可以解决还是我必须使用 0.6.4.1 Meteor 版本?

4

1 回答 1

4

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

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

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

于 2013-09-04T18:05:36.793 回答