Я пытаюсь создать веб-приложение для слайд-шоу, которое будет использоваться в локальной сети, поэтому время загрузки не должно быть большой проблемой.Сохранение больших данных blob в GridFS с использованием схемы Mongoose
Я использовал angular-fullstack, чтобы сгенерировать мое покрытие котла.
Я огляделся по некоторым решениям и нашел mongoose-fs, функциональность которого, похоже, является тем, что я ищу. Но я не могу заставить его работать. Я прочитал исходный код, и все это, кажется, имеет смысл.
Проблема в моем API сообщений, несмотря на то, что у req.body есть req.body.music, который содержит большой 22 МБ mp3, переменная слайда в Slide.create не обладает свойством slide.music.
Есть ли что-то, что мне не хватает или есть лучшее решение для сохранения больших файлов в GridFS?
Вот что моя схема выглядит
"use strict";
var mongoose = require("mongoose");
var mongooseFS = require("mongoose-fs");
var Schema = mongoose.Schema;
var SlideSchema = new Schema({
name: String,
info: String,
imgData: Buffer,
interval: Number
});
var SlideCollection = new Schema({
name: String,
slideshow: [SlideSchema]
});
SlideCollection.plugin(mongooseFS, {keys: ["music"]});
module.exports = mongoose.model("Slide", SlideCollection);
POST API мой контроллер выглядит как этот
// Creates a new slide in the DB.
exports.create = function(req, res) {
Slide.create(req.body, function(err, slide) {
if(err) { return handleError(res, err); }
return res.status(201).json(slide);
});
};