我正在测试一些旧的代码而且我收到了一个错误,看起来就像这些代码行一样:
var targetFile='../../../../../public/image1.png';
var sourceFile='../../../../../../game4-dirs/public/image2.png';
fs.writeFileSync(targetFile, fs.readFileSync(sourceFile));
我得到的错误是:
Error: ENOENT, unlink '../../../../../public/image1.png'
我似乎依稀记得public
和game4-dirs
相对于产品不可访问,但相对于安装流星的地方(或类似的东西,我不记得了) )。
版本1.2.0.2中有此更改吗?我最初使用的是v0.9.3.1
谢谢:)
答案 0 :(得分:2)
如果您的Meteor应用程序位于磁盘上的myApp
,那么myApp/public
下的文件将以HTML /
的根目录提供。这意味着image1.png
的网址应该只是/image1.png
。
看起来../../../../../../game4-dirs/public/image2.png
正在尝试访问不在下面您的meteor应用程序根目录的文件。出于明显的安全原因,Meteor不会在客户端上允许此操作。如果您想使用image2.png
,请将其移至应用的/public
目录,然后使用简单/image2.png