为什么fs.writeFile会抛出错误?为什么和我首先出错?

时间:2014-01-06 00:07:12

标签: node.js

  // Save the image
  fs.readFile(req.files.image.path, function (err, data) {
    var imagePath = path.join(nconf.get('imagePath'), imageOrig.substring(0,6), imageOrig);
    console.log('Saving image: ' + imagePath)
    fs.writeFile(imagePath, data, cb);   // Line 120
  });

错误:

Saving image: /Users/username/Development/appName/public/images/2120A2/2120A232-4D6E-EFC4-672C-668C20C024C0.jpg

fs.js:113
    throw new Error('Unknown encoding: ' + encoding);
          ^
Error: Unknown encoding: /Users/username/Development/appName/public/images/2120A2
    at assertEncoding (fs.js:113:11)
    at Object.fs.writeFile (fs.js:939:3)
    at /Users/username/Development/appName/lib/routes/fileName.js:120:12
    at fs.js:266:14
    at Object.oncomplete (fs.js:107:15)

问题1:

为什么要扔?不应该将错误传递给回调cb

问题2:

为什么我收到错误?正在上传的图片是有效的jpeg。如果我将行更改为此fs.writeFile(imagePath, data, { encoding: null }, cb);,则会保存图像(我可以看到它并使用外部图像查看器打开它),但从不调用回调函数cb,因此请求永远不会结束。

0 个答案:

没有答案