Meteor fs.writeFile()不';“流星0.6.5.1”上的t工作
我使用Meteor 0.6.4.1并使用Meteor fs.writeFile()不';“流星0.6.5.1”上的t工作,meteor,Meteor,我使用Meteor 0.6.4.1并使用Npm.require('fs')和fs.writeFile()保存文件。下面是我用来测试它的代码:。我将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) E
Npm.require('fs')
和fs.writeFile()
保存文件。下面是我用来测试它的代码:。我将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版本?在Meteor 0.6.5中,他们更改了服务器上下文中的当前工作目录,它以前是Meteor根目录,但现在是
MyProject/.Meteor/local/build/programs/server
因此,如果您想从服务器端应用程序访问公用文件夹中的内容,可以尝试以下路径:。/../../../../../public/
警告:将文件写入
public
可能会导致服务器重新启动并导致未定义的行为。稍微修改代码以获得更多详细信息。特别是行throw(newmeteor.Error(500,'未能保存文件',err))
tothrow(new Meteor.Error(500,'Failed to save file“+err));
查看回调作为错误返回的内容的更多详细信息。或者查找应该可见的堆栈跟踪(可能再往下一点,您没有包括它?)我编辑了代码,但只修改了四行,并增加了一些关于错误的信息。我复制了所有的行,之后就没有了。