码
// 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
,因此请求永远不会结束。