Как хранить файлы с метаданными в LoopBack?

Что я хочу сделать: иметь HTML-форму с входным файлом внутри. Когда файл выбран, входной файл должен загрузить файл и получить идентификатор файла, поэтому при отправке формы идентификатор файла публикуется вместе с формой и записывается в базу данных.

Более короткая версия:Я хочу хранить метаданные (например, id) с моими файлами.

Звучит просто, но я изо всех сил пытаюсь сделать это в LoopBack.

Там было пару разговоров (1, 2 ) об этой теме, и ни один из них, похоже, не привел к решению, поэтому я подумал, что это может быть хорошим местом, чтобы найти один раз и навсегда.

Простейшим решением было бы использование отношений модели, но LoopBack не поддерживает отношения со службой хранения файлов. Удар. Таким образом, мы должны пойти с постоянной моделью по имениFile например, и переопределить создание, удаление по умолчанию, чтобы оно сохраняло и удаляло из имеющейся у меня модели хранилища файлов с именемStorage.

Мои настройки пока:

У меня есть модель / API / Storage, который подключен кслужба хранения с обратной связью и успешно сохраняет файл в локальной файловой системе.У меня есть PersistedModel, подключенная к Mongo с метаданными файла:name,size, url а такжеobjectIdУ меня есть удаленный крюк, установленный доcreate поэтому файл может быть сначала сохранен, а затемurl может быть введен вFile.create()

Я там и согласноэта страница LoopBackУ меня есть ctx, который должен иметь файл внутри:

File.beforeRemote('create', function(ctx, affectedModelInstance, next) {})`

какойctx?

ctx.req: Объект экспресс-запроса.
ctx.result: Объект Express Response.

Хорошо, теперь я нахожусь на странице Express, довольно потерян, и это говорит о «промежуточном программном обеспечении для разбора тела», которое я понятия не имею, что это может быть.

Я чувствую, что я близок к решению,любая помощь будет оценена, Правильный ли этот подход?

Ответы на вопрос(7)

Ваш ответ на вопрос