У меня есть приложение Meteor, в которое я вставляю документ (название, описание, клиент, ...) в базу данных. Приложение использует Autoform, Simple Schema и Collection2. Теперь я хочу добавить возможность загрузить файл на S3.Meteor Upload to AWS S3
Чтобы все было просто, я представлял файл-пиккер как часть «Создать документ», и как только файл будет загружен, поле URL (из Autoform) должно показать URL-адрес документа на S3 (после его загрузки) так что URL-адрес в конечном итоге сохраняется в коллекции документов при нажатии кнопки создания. Я понимаю, что могут быть лучшие способы, но хотелось бы сохранить все просто.
Я попытался объединить учебник here. Загрузка на S3 работает, но я не могу получить URL-адрес для загруженного файла хранимой коллекции документов. На следующем скриншоте показан макет. Есть идеи?
Мой текущий код можно найти here.
Можете ли вы сузить место ошибки? Например, вызов метода 'storeUrlInDatabase' преуспевает или терпит неудачу? –
Кроме того, чтобы помочь с отладкой, не возвращайте исключение. Вместо этого 'throw new Meteor.Error (' file-insert-failed ', exception.toString()) '. –
Как таковой нет сообщения об ошибке. Позвольте мне попытаться немного уточнить: файлы загружаются на S3 правильно, и URL-адрес добавляется в коллекцию «Файлы». Я мог бы добавить в коллекцию «Файлы» ссылку на Doc._id (к которой принадлежит загруженный файл). Вместо этого я хотел бы использовать только коллекцию «Документы» с параметром «URL». Таким образом, я мог бы использовать Autoform для создания пользовательского интерфейса, а затем вставить все в 1 файл коллекции «Документы». Поэтому вопрос заключается в том, как получить URL-адрес S3 в параметре URL-адреса «Документы». Довольно тривиально ... но смотрел на него слепо. – wiwa1978