我的项目结构是这样的
现在,我需要将assets.js中的文件写入pdf文件夹中的文件。
这就是我正在尝试的
var qrImgPath = '/lib/pdf/' +eod+'.png';
fs.writeFile(qrImgPath,body,'binary',function(err){
return next();
});
但我收到了以下错误
{ handle: 2,
type: 'error',
className: 'Error',
constructorFunction: { ref: 5 },
protoObject: { ref: 6 },
prototypeObject: { ref: 1 },
properties:
[ { name: 'stack',
attributes: 2,
propertyType: 3,
ref: 1 },
{ name: 'arguments',
attributes: 2,
propertyType: 1,
ref: 1 },
{ name: 'type',
attributes: 2,
propertyType: 1,
ref: 1 },
{ name: 'message',
attributes: 2,
propertyType: 1,
ref: 7 },
{ name: 'errno',
propertyType: 1,
ref: 8 },
{ name: 'code',
propertyType: 1,
ref: 9 },
{ name: 'path',
propertyType: 1,
ref: 10 } ],
text: 'Error: ENOENT, open \'/lib/pdf/b0551796a741aa885e641dbd895a233f.png\'' }
我怎样才能做到这一点?
答案 0 :(得分:1)
您可以使用__dirname
。 (https://nodejs.org/docs/latest/api/globals.html#globals_dirname)
path.join(__dirname, "../../lib/pdf" + eod + "png");
答案 1 :(得分:1)
您可以使用__dirname全局变量,该变量返回当前正在执行的脚本所在目录的名称。
所以,你的代码应该是这样的:
var qrImgPath = path.join(__dirname, '../lib/pdf/' +eod+'.png');
fs.writeFile(qrImgPath,body, 'binary',function(err){
return next();
});