1

動画を HTML フォームからブライトコーブに直接アップロードしたいと考えています。サーバーで Coldfusion 9 を実行しています。

ビデオをローカル サーバーにアップロードする手順は次のとおりです。

<cffile action="upload" nameconflict="makeunique" filefield="form.video_file" destination="#upload_path#" result="uploaded_file">

...そして、ローカルサーバーからブライトコーブに動画をアップロードする手順は次のとおりです。

<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 に直接ではありません。

これは可能ですか?

ありがとう!ニック

4

1 に答える 1

4

JavaScript Media API Examplesには、ブラウザからブライトコーブに直接アップロードする方法の例があります。

ただし、ドキュメントに記載されているように、達成したいことはいくつかの理由で推奨されません。

  • IE9 などの一部のブラウザーでは、応答をフォームに表示するのではなく、ダウンロードするように求めるメッセージが表示されます。これは、ブラウザーが MIME タイプの処理方法を認識していないためです。
  • 例のソース コードに示されているように、フォームで API トークンを公開することはお勧めできません。
  • クライアント側の Media API 呼び出しは、セキュリティが不足しているため、UGC アップロード ソリューションとしてはお勧めしません。

サーバーにアップロードしてからブライトコーブにアップロードするプロセスに時間がかかりすぎる場合は、おそらくキュー システムを構築することをお勧めします。

  1. ユーザーはブラウザでサーバーにアップロードするのを待ちます。
  2. サーバーはファイルを一時的にどこかに保存し、キューに入れられたタスクを保存するデータベース テーブルにタスクを追加します。
  3. ビデオがまだエンキューされている間、ユーザーはビデオが「保留中」であることを確認します。
  4. スケジュールされたタスクは定期的にキュー テーブルをチェックし、一度に 1 つずつタスクをアップロードします。タスクが完了すると、ビデオが更新されて「準備完了」になります。
  5. ユーザーは、ビデオの準備ができていることを確認します。
于 2012-09-06T14:57:27.423 に答える