gpt4 book ai didi

javascript - meteor :错误:尝试使用 node-gd 访问图像时出现 ENOENT

转载 作者:搜寻专家 更新时间:2023-10-31 23:42:48 25 4
gpt4 key购买 nike

我不明白为什么会收到此“错误:ENOENT”错误。这是我的 Meteor 服务器方法:

  createImage: function(coords) {
console.log('createImage')
console.log(coords.area)
console.log(coords.x)
console.log(coords.y)
console.log(coords.x2)
console.log(coords.y2)
console.log(coords.w)
console.log(coords.h)

var gd = Meteor.npmRequire('node-gd');
var path = Meteor.npmRequire('path');
var fs = Meteor.npmRequire('fs');

var source = 'forrest.png';
var target = 'compimages';


if (path.exists(target)) fs.unlink(target);

gd.openPng(source, function(png, path) {
if(png) {
console.log(png)
console.log(path)
}
}
);

}

这是我在终端上得到的输出:

=> Meteor server restarted
I20140827-15:30:18.451(-7)? createImage
I20140827-15:30:18.455(-7)? 27888
I20140827-15:30:18.456(-7)? 242
I20140827-15:30:18.459(-7)? 164
I20140827-15:30:18.459(-7)? 410
I20140827-15:30:18.459(-7)? 330
I20140827-15:30:18.459(-7)? 168
I20140827-15:30:18.460(-7)? 166
W20140827-15:30:18.527(-7)? (STDERR) path.exists is now called `fs.exists`.
I20140827-15:30:18.547(-7)? { [Error: ENOENT, open 'forrest.png'] errno: 34, code: 'ENOENT', path: 'forrest.png' }
I20140827-15:30:18.548(-7)? undefined

这些是 ~/myapp/server/中的目录

me@ubuntu:~/myapp/server$ ls
compimages forrest.png privateimages server.js user-setup.js

我想访问 forrest.png 并使用 node-gd 根据传入的坐标切出一部分。

据我了解,此错误意味着缺少目录。我试图访问的 png 文件与调用它的 .js 文件位于同一目录中(它们都在 ~/myapp/server/所以对我来说它看起来不是问题所在。我唯一能做的看到路径未定义。不过我已经安装了:

me@ubuntu:~/myapp/packages/npm/npm/node_modules$ ls
node-gd path

谁能看出这是怎么回事?我正在使用 Meteor 0.9.0

最佳答案

如果您在服务器代码中console.log(process.cwd()),您会注意到 Meteor 应用程序的当前工作目录是 project/.meteor/local/build/programs/server 但是您的代码假定 CWD 是 project/server

您可以做的是在您的路径前加上项目根服务器文件夹的前缀,该文件夹是通过在文件系统层次结构中向上移动 5 层获得的。

var projectRootServer="../../../../../server";
var source=projectRootServer+"forrest.png";

这不是很优雅,但它有效。

不相关,但似乎 path.exists 已被弃用,取而代之的是 fs.exists,您也应该修复此问题。

关于javascript - meteor :错误:尝试使用 node-gd 访问图像时出现 ENOENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25538178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com