【发布时间】:2017-05-10 15:33:41
【问题描述】:
我正在尝试使用 multer 将文件上传到我的项目中,但我不知道该怎么做。
这是我编写的一些代码,认为它可以工作
// 这是我的 ejs 视图
<form action="/wistia" method="post" enctype="multipart/form-data">
<input type="file" name="archivo">
<input type="submit">
</form>
//这是我的路由文件
const multer = require("multer");
const express = require('express');
const router = express.Router();
let location = path.join(__dirname, '/uploads');
let upload = multer({ dest: location });
router.get("/wistia",function(req, res){
res.render("wistia");
});
router.post("/wistia", upload.single("archivo") , function(req, res) {
console.log(req.file);
});
谢谢。
【问题讨论】:
-
那么,成功了吗? (或)您是否收到任何错误?
-
我收到一个错误
Error: Unexpected field at makeError (C:\Users\JustBrian\Desktop\zen\node_modules\multer\lib\make-error.js:12:13) at wrappedFileFilter (C:\Users\JustBrian\Desktop\zen\node_modules\multer\index.js:40:19) at Busboy.<anonymous> (C:\Users\JustBrian\Desktop\zen\node_modules\multer\lib\make-middleware.js:114:7) at emitMany (events.js:127:13) -
您可以尝试将您的
let location = path.join(__dirname, '/uploads');替换为let location = multer({ dest: 'uploads/'});吗? -
完成了同样的错误imgur.com/a/FbSfl,这也是错误i.imgur.com/45HJX4Z.png的图片
标签: javascript node.js multer