Получение размера вложений, добавленных к сообщениям через API

Привет,

Я искал эту тему, но не смог найти.

Мне нужен способ получить размер файла, если в посте есть изображение (или другое вложение).

В API, связанном с загрузкой, нет функции «получить метаданные». Я не могу использовать Data Explorer, так как этот плагин не установлен.

В ask.discourse указано, что это пробел в функциональности:

Вы правы, указав на пробел в API. В настоящее время получение конкретных атрибутов загрузки (например, размера файла) напрямую через REST API не предусмотрено, если это не часть ответа при первоначальной загрузке файла.

Это верно, или я смотрю не в то место?

Ну, есть UploadSerializer, который включает размер файла, но я не вижу способа его получить.

Загрузки/вложения действительно содержат размер файла, но только в описании вложения.

Какую проблему вы решаете, получая размер файла загрузки?

Привет, @pfaffman

Я представляю Exalate — мы предлагаем решение для интеграции, позволяющее создавать связи между различными системами. В настоящее время мы разрабатываем интеграцию, которая позволит передавать взаимодействия с Discourse в нашу собственную бэкенд-систему. Одним из требований при предоставлении вложений на другой стороне является указание размера файла.

Я решил эту проблему, загрузив файл без потоковой передачи (надеюсь, это допустимо для бэкенда Discourse). В заголовке содержится необходимая информация, такая как тип MIME и размер файла.

Более удобным было бы наличие явного REST-эндпоинта, но есть обходной путь, так что всё в порядке.

Франсис

Отличное решение!

Если вы не можете установить плагин Data Explorer, боюсь, у вас уже есть лучшее из доступных решений.