在NodeJS处传递的图像文件参数

时间:2018-08-17 18:15:47

标签: javascript node.js

我有一个方法,可以将文本和图像文件作为参数传递给另一个函数。传递了文本,但是图像文件始终未定义。我想念什么?

    function anotherFunc(text, imageFile){

      if (typeof imageFile == 'undefined'){
        console.log("image undefined")
      } else {
        console.log("Got image")
    }
 }

function theCaller(){
  var text ="hello"
  var imageFile = 'img.png'
  anotherFunc(text, imageFile)
}

这总是输出图像undefined,尽管我将图像放在源代码的同一目录中。我也尝试过var imageFile = './img.png',但这也无济于事。

2 个答案:

答案 0 :(得分:0)

如果要测试imageFile是否未定义,则应执行以下操作:

if (typeof imageFile == 'undefined'){
   console.log("image undefined")
  } else {
    console.log("Got image")
  }

答案 1 :(得分:0)

您仅在验证字符串不是“未定义”。除了通过说if (imageFile)或更明确地if (typeof imageFile === 'undefined')来更改代码以正确验证其是否未定义之外,您还需要实际提供图像,而不仅仅是文本。

我建议您做这样的事情:

const fs = require('fs');
const path = require('path');

let fileName = 'someName.png';
let fullPath = path.join(__dirname, 'some', 'path', fileName);

if (fs.existsSync(fullPath)) {
  let file = fs.readFileSync(fullPath);
  // do something with the file
}