【发布时间】:2020-07-01 07:51:16
【问题描述】:
我正在尝试集成 express-fileupload 以将图像上传到我的服务器。我已按照此链接中提供的示例 express-fileupload Examples 进行操作,但它不起作用。下面我列出了仅涉及相关代码行的每个文件。
index.ejs:相关行
<form method="post" action="/images" enctype="multipart/formdata">
<div class="panel-body form-horizontal">
<div class="form-group col-md-12">
<label class="col-sm-2 control-label" for="file">Browse:</label>
<div class="col-md-10">
<input class="form-control" type="file" name="file" id="file">
</div>
</div>
</div>
</form>
server.js
const express = require('express');
const config = require('./server/configure');
let app = new express();
app.set('port', process.env.PORT || 3300);
app = config(app);
app.listen(app.get('port'), () => {
console.log(`Server up: http://localhost:${app.get('port')}`);
});
configure.js
const express = require('express');
const path = require('path');
const expressFileUpload = require('express-fileupload');
const routes = require('./routes');
module.exports = (app) => {
// applying expressFileUpload middleware
app.use(expressFileUpload());
routes(app);
app.use('/public/', express.static(path.join(__dirname, '../public')));
return app;
};
routes.js
const image = require('../controllers/image');
module.exports = (app) => {
app.post('/images', image.create);
};
image.js
module.exports = {
create(req, res) {
let image = req.files.file;
}
}
错误
我在以下行 let image = req.files.file; 收到一个错误,其中指出,
TypeError: 无法读取未定义的属性“文件”
为什么文件未定义以及如何使用 express-fileunload 正确上传图片?
【问题讨论】:
标签: javascript node.js express