Я пытаюсь выяснить, как сохранить большую строку base64 (что-то вроде «data: image / png; base64, iVBORw0KGgoAAAANSUhEUgAAACAYAAAB5fY51AAAgAEl ...») в моей схеме mongoose.Запрос $ http не может отправить строку правильно, и он не определен.
Моя схема мангуста:
var userSchema = new Schema({
username: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
profilPathImg: String
});
Моя правка editProfilImg put -функция
//router
router.put('/edit/profilImage', _update.editProfilImg);
//function in seperate file
module.exports.editProfilImg = function (req, res) {
console.log("IMG : " + req.body.profilPathImg); //here it is undefined
var query = { 'username': req.body.username }
UserSchema.update(query, {'profilPathImg':req.body.profilPathImg}, function (err, doc) {
if (err) {
res.status(401).json(err);
}
res.status(201).json(doc);
})
}
Мой запрос $ http в угловых
$scope.SubmitProfilImg = function (croppedDataUri) {
console.log(croppedDataUri); //here it is valid not undefined
$http({
method: "PUT",
url: "/user/edit/profilImage",
headers: {'Content-Type': undefined},
data: {
"username": $rootScope.decodedToken.username,
"profilPathImg": croppedDataUri
}
}).then(function success(response) {
}, function myError(response) {
alertService.showNotificationErrorEditProfilImg();
});
}
В документе (mongoDB) пользователя в поле profilPathImg значение передается как "неопределенное" после отправкизапрос.В моей угловой функции (SubmitProfilImg) параметр croppedDataUri получен, а не равен нулю или не определен.