我是NodeJS初学者,跟随着一本书"使用MongoDB和NodeJS进行Web开发".我被困在第6章"闷闷不乐".当我使用multer进行文件上传时,服务器会抛出以下错误:
/Users/fk / Documents / imageuploader / node_modules / express / lib / application.js: 209
throw new TypeError('app.use() requires middleware functions'); ^
TypeError: app.use() requires middleware functions
Run Code Online (Sandbox Code Playgroud)
但当我用bodyParser替换它时,服务器会启动,但是当我点击上传按钮时,它会在浏览器上给出以下错误.
500 TypeError: Cannot read property 'file' of undefined
Run Code Online (Sandbox Code Playgroud)
但是,它应该将我重定向到另一个页面,其中显示上传的文件.
这是我的bodyParser代码,请查看我是否正确使用它,因为它在服务器启动时给了我"body-parser deprecated".我已经看到过像我这样的其他问题,但我遵循但没有一个真正起作用.
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser({
uploadDir: path.join(__dirname, '../public/upload/temp')
}));
Run Code Online (Sandbox Code Playgroud)
以下代码显示了我如何使用multer,以防万一我不应该做的事情请告诉我.如果上传文件,正文解析器或者multer,哪一个会更好?
app.use(multer({
dest: path.join(__dirname, '../public/upload/temp')
}));
var saveImage = function() {
var possible = 'abcdefghijklmnopqrstuvwxyz0123456789',
imgUrl = '';
for (var i = 0; i < 6; i += 1) {
imgUrl …Run Code Online (Sandbox Code Playgroud)