Если бы кто-то мог мне помочь, я был бы бесконечно благодарен. Я несколько недель бился головой о кирпичную стену, пытаясь заставить изображения загружаться так, как это демонстрируется из коробки с модулем пользователей MEAN.js. В сгенерированном пользовательском модуле файл загружается в каталог, а путь к этому файлу сохраняется в поле в документе mongodb. Я могу загрузить файл туда, куда ему нужно, используя multer и функцию загрузки файлов. Однако я не могу сохранить путь к полю в документе. Я не могу понять, как избежать получения «неопределенной» переменной. Я попытался создать службу $window и передать ей данные как глобальную переменную и кучу других вещей, и я полностью застрял.
Я прокомментировал приведенный ниже код, чтобы продемонстрировать, что не так в моей функции changeShoePicture контроллера сервера.
// This is the boilerplate code from the mean.js "users" module.
// I can not create a $window service or global variable to store the
// shoe data below so that I can update the shoe.shoeImageURL field
// in MongoDB with path to the successfully uploaded file.
exports.changeShoePicture = function (req, res) {
var message = null;
var shoe = req.shoe;
var upload = multer(config.uploads.shoeUpload).single('newProfilePicture');
var profileUploadFileFilter = require(path.resolve('./config/lib/multer')).profileUploadFileFilter;
console.log('i am here', shoe); // shoe is defined here.
// Filtering to upload only images. This works and proceeds to the else condition!
upload.fileFilter = profileUploadFileFilter;
upload(req, res, function (uploadError) {
if(uploadError) {
return res.status(400).send({
message: 'Error occurred while uploading profile picture'
});
} else {
//shoe image file is successfully uploaded to the location on the server,
// However the following fails because the shoe variable is undefined.
shoe.shoeImageURL = config.uploads.shoeUpload.dest + req.file.filename;
}
});
console.log(shoe)
? На основании предоставленного вами фрагментаshoe
входит в объем функции загрузки. - person oKonyk   schedule 27.07.2016