zu aktualisieren. Wenn mir jemand helfen könnte, wäre ich ewig dankbar. Ich habe wochenlang mit dem Kopf gegen eine Wand gestoßen und versucht, Bilder hochzuladen, wie es mit dem MEAN.js-Benutzermodul direkt aus der Box kommt. Im generierten Benutzermodul wird die Datei in ein Verzeichnis hochgeladen und der Pfad zu dieser Datei wird in einem Feld im mongodb-Dokument gespeichert. Ich kann die Datei zum Hochladen mit multer und der Dateiupload-Funktion hochladen. Ich kann jedoch den Pfad zu dem Feld innerhalb des Dokuments nicht speichern. Ich kann nicht herausfinden, wie man vermeidet, eine 'undefinierte' Variable zu bekommen. Ich habe versucht, einen $ window service zu erstellen und Daten an ihn als globale Variable und eine Menge anderer Dinge zu übergeben, und ich bin total festgefahren.Undefinierte Variable erhalten, die versucht, den Pfad zu einer hochgeladenen Datei in MongoDB mit angular-file-upload und MEAN.js
Ich habe den folgenden Code kommentiert, um zu demonstrieren, was in meinem Server Controller ChangeShoePicture Funktion schief geht.
// 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;
}
});
Können Sie das Debuggen hinzufügen, um mehr 'console.log setzen (Schuh)'? Basis für das Snippet, das Sie zur Verfügung gestellt haben, ist die Upload-Funktion. – oKonyk
Haben Sie Ihren Code auf öffentlichen GitHub? Das ist ein interessanter Fall ... – oKonyk