【发布时间】:2015-07-01 19:19:30
【问题描述】:
朋友们加油!
我正在尝试使用 GridFS 在我的MEAN Application 中上传文件。我正在使用本教程http://www.codetutorial.io/file-upload-gridfs-mean-stack-meanjs/。
在实现它并检查了十次之后,我仍然得到这个错误:TypeError: Cannot read property "filefield" of undefined in the upload.server.controller.js。但在我看来,文件字段已正确传递给路由和控制器。
这是我的 html 表单:
<form action="/upload/" method="post" enctype="multipart/form-data">
<input type="file" name="filefield">
<button type="submit">Hochladen</button>
</form>
路线:
var upload = require ('./controllers/upload.server.controller');
app.route('/upload/:filename')
.get(upload.read);
app.route('/upload/')
.post(upload.create);
以及控制器的创建部分:
'use strict';
var mongoose = require('mongoose'),
_ = require ('lodash');
var Grid = require('gridfs-stream');
Grid.mongo = mongoose.mongo;
var gfs = new Grid(mongoose.connection.db);
exports.create = function(req, res) {
var part = req.files.filefield;
var writeStream = gfs.createWriteStream({
filename: part.name,
mode: 'w',
content_type:part.mimetype
});
writeStream.on('close', function() {
return res.status(200).send({
message: 'Success'
});
});
writeStream.write(part.data);
writeStream.end();
};
有人知道如何解决此错误吗?
来自德国的问候,
大卫
【问题讨论】:
标签: javascript angularjs mongoose mean gridfs