1
私のサーバーにではなくデータベースにイメージを保存します。Express jsでbase64をmongooseに直接保存するには
これは私のモデル
var mongoose = require('mongoose');
VARスキーマ= mongoose.Schemaです。
var categorySchema = new Schema({
img: { data: Buffer, contentType: String },
});
module.exports = mongoose.model('Category', categorySchema);
私のルーターでは、長い文字列でこのbase64イメージを取得しています。
私はこれまで私のmongoose dbデータベースにこの情報を保存する方法を知りたいと思います。
router.post('/add', function (req, res) {
var category = new Category();
category.img.data = req.body.category.img;
category.img.contentType = 'image/png';
category.save(function (err) {
if (err) throw new Error(err);
res.sendStatus(200)
});
});
しかし、明らかにそれが動作していない私はこのエラーが表示されます。
Error: ValidationError: CastError: Cast to Buffer failed for value "{ '$ngfDataUrl': 'data:image/png;base64, long-String'}
私はファイルを保存しています。
奇妙に。 base64は関数ではありません – user3862830
私は同じエラーがあります。行を '新しいバッファ(base64string、" base64 ")'に変更する –