Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 无法app.use(multer) “需要中间件功能”错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_489_1@
我刚刚开始学习NodeJS,我遇到了一个问题。我想将文件上传到我的服务器。为此,我搜索并找到这个模块 multer.做为例子在GitHub工程:

var express = require('express');
var multer = require('multer');
var upload = multer({ dest: 'uploads/' });

var app = express()

app.post('/uploadImage',upload.single('image'),function(req,res) {
    console.log(req.filE);
});

在使用FormData将图像发布到/ uploadImage时,图像保存在uploads /目录中。事情是图像保存有一个奇怪的名字,我想保存它的原始名称
要这样做,我明白,我必须调用app.use(multer({dest:’uploads /’}))’,然后我可以访问req.file在我的函数像:

app.post('/uploadImage',res) {
    console.log(req.filE);
});

但我得到一个错误尝试app.use():

TypeError: app.use() requires middleware functions
    at EventEmitter.use (project\node_modules\express\lib\application
.js:209:11)

Im使用NodeJS 0.12.7和Express 4.13.1

如何实现上传?谢谢。

解决方法

@H_450_27@ 你需要使用app.use(multer({dest:’./ uploads /’})),其形式如下:

app.use(multer({dest:'./uploads/'}).single(...));
app.use(multer({dest:'./uploads/'}).array(...));
app.use(multer({dest:'./uploads/'}).fields(...));

即:

app.use(multer({dest:'./uploads/'}).single('photo'));

并确保有类似的东西:

<form action="/postPhotos" enctype="multipart/form-data" method="post">
    <input type="file" name="photo">
    <input type="submit" value="Upload photo">
</form>

你的html。

大佬总结

以上是大佬教程为你收集整理的node.js – 无法app.use(multer) “需要中间件功能”错误全部内容,希望文章能够帮你解决node.js – 无法app.use(multer) “需要中间件功能”错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。