Загрузить видео в Brightcove через HTML-форму с Coldfusion
Я хочу загрузить видео из HTML-формы непосредственно в Brightcove. Мы запускаем Coldfusion 9 на наших серверах.
Я могу найти инструкции по загрузке видео на мой локальный сервер следующим образом:
<cffile action="upload" nameconflict="makeunique" filefield="form.video_file" destination="#upload_path#" result="uploaded_file">
... и инструкции по загрузке видео с моего локального сервера в Brightcove следующим образом:
<cfhttp url="#variables.apiBaseUrl#" method="post" timeout="#variables.timeout#" result="resultVar" multipart="true">
<cfhttpparam type="formfield" name="json" VALUE = "#arguments.jsonArgs#">
<cfhttpparam type="file" name="#getFileFromPath(arguments.filename)#" file="#arguments.filename#"/>
</cfhttp>
Но не из HTML-формы непосредственно в Brightcove.
Это возможно?
Спасибо! Ник
1 ответ
Решение
В примерах JavaScript Media API приведены примеры того, как загружать данные прямо из браузера в Brightcove.
Но, как отмечается в документации, то, что вы хотите выполнить, не рекомендуется по нескольким причинам:
- Некоторые браузеры, такие как IE9, предложат вам загрузить ответ, а не показывать его в форме, потому что браузер не знает, что делать с типом mime.
- Не рекомендуется размещать на форме токен API, как отмечено в исходном коде примеров.
- Вызовы Media API на стороне клиента не рекомендуются в качестве решения для загрузки UGC из-за отсутствия безопасности.
Если вы обнаружите, что процесс загрузки на ваш сервер, а затем в Brightcove занимает слишком много времени, вы, вероятно, захотите построить систему очередей.
- Пользователь ожидает загрузки в браузере на ваш сервер.
- Ваш сервер временно хранит файл где-то и добавляет задачу в таблицу базы данных, в которой хранятся поставленные в очередь задачи.
- Пользователь видит, что видео находится в состоянии ожидания, пока оно в очереди.
- Запланированная задача периодически проверяет таблицу очередей и загружает задачи по одной за раз. Как только задача выполнена, она обновляет видео, чтобы быть "готовым".
- Пользователь видит, что видео готово.