Если кто-то может мне помочь, я буду вечно благодарен. Я целыми неделями ударил головой о кирпичную стену, пытаясь получить изображения для загрузки, как это демонстрируется из коробки с помощью модуля пользователей MEAN.js. В созданном пользовательском модуле файл загружается в каталог, и путь к этому файлу сохраняется в поле в документе mongodb. Я могу получить файл для загрузки туда, где ему нужно перейти с помощью функции multer и fileupload. Однако я не могу сохранить путь к полю внутри документа. Я не могу понять, как избежать получения неопределенной переменной. Я попытался создать службу $ window и передать данные в нее как глобальную переменную и множество других вещей, и я полностью застрял.Получить неопределенную переменную, пытаясь обновить путь к загруженному файлу в MongoDB, используя угловую загрузку файла и MEAN.js
Я прокомментировал приведенный ниже код, чтобы продемонстрировать, что происходит в моей функции контроллера сервера 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', находится в области функции загрузки. – oKonyk
У вас есть свой код на публике GitHub? Это интересный случай ... – oKonyk