Приветствия!
Я пытаюсь загрузить файл в своем MEAN Application
с помощью GridFS. Я использую этот учебник http://www.codetutorial.io/file-upload-gridfs-mean-stack-meanjs/.Загрузка файла в MEAN Stack with GridFS: Получение ошибок
После внедрения и проверки его десять раз, я до сих пор получаю эту ошибку: TypeError: Cannot read property "filefield" of undefined
в upload.server.controller.js
. Но мне кажется, что файловое поле правильно передается маршруту и контроллеру.
Here's мой 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();
};
Кто-нибудь понял, как исправить эту ошибку?
С наилучшими пожеланиями из Германии,
Дэвид
Грустно сказать, но есть автобус и работает –
Можете ли вы отлаживать или console.log, что находится в req.files? – vanadium23
Я положил console.log (req.files); прямо над var part = req.files.filefield, где я получаю свою консольную ошибку. Получение «undefined» –