Skip to main content

Внешние медиа‑ссылки (preview/runtime/export)

Этот гайд описывает, как платформа обрабатывает внешние ссылки на изображения/видео, и как выбрать режим для стабильной работы в preview, runtime‑host и export.

Режимы работы

РежимЧто происходитКогда использовать
directИспользуется оригинальная ссылка без измененийЕсли ссылки уже прямые и стабильные
normalizedShare‑ссылки приводятся к прямым URLСтандартный режим по умолчанию
proxyНормализованный URL проксируется через backendЕсли у источника нет CORS/redirect‑проблем

Поддерживаемые сервисы нормализации

СервисПример входной ссылкиЧто получает runtime
Google Drivehttps://drive.google.com/file/d/<id>/viewhttps://drive.google.com/uc?export=download&id=<id>
Yandex Diskhttps://yadi.sk/d/<key> или https://disk.yandex.ru/d/<key>https://cloud-api.yandex.net/v1/disk/public/resources/download?public_key=<url>
Dropboxhttps://www.dropbox.com/s/<id>/file.png?dl=0https://www.dropbox.com/s/<id>/file.png?raw=1

Примечание: если ссылка не распознаётся, она остаётся как есть.

Где настраивается режим

Builder‑web

В Settings → External media → Media link mode можно выбрать режим для preview и для передачи в runtime‑host / export.

Runtime‑host

Режим можно передать через query‑параметр:

?mediaMode=direct|normalized|proxy

Export

Режим записывается в .env.example фронтенда:

VITE_MEDIA_MODE=normalized
VITE_MEDIA_PROXY_URL=http://localhost:3001

Media proxy

Если выбран режим proxy, runtime‑host или экспортируемый фронтенд будут обращаться к /media/proxy?url=... на backend.

Runtime‑backend env

MEDIA_PROXY_ENABLED=true
MEDIA_PROXY_ALLOWLIST=drive.google.com,docs.google.com,yadi.sk,disk.yandex.ru,dropbox.com,*.googleusercontent.com
MEDIA_PROXY_TIMEOUT_MS=10000
MEDIA_PROXY_MAX_BYTES=10485760

Backend шаблон (export)

Использует те же переменные окружения.

Ограничения

  • В proxy режиме применяется allowlist доменов.
  • Ответ ограничен по размеру (MEDIA_PROXY_MAX_BYTES).
  • Для нестабильных share‑ссылок рекомендуется normalized или proxy.