使用Coldfusion通过HTML表单将视频上传到Brightcove

时间:2012-09-06 14:23:44

标签: coldfusion brightcove

我想将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 个答案:

答案 0 :(得分:4)

有一些示例说明如何直接从浏览器上传到JavaScript Media API Examples中的Brightcove。

但是,正如文档所述,出于以下几个原因,不推荐您想要完成的任务:

  • 某些浏览器(如IE9)会提示您下载响应而不是在表单中显示,因为浏览器不知道如何处理mime类型。
  • 在示例的源代码中注明,在表单上公开API令牌并不是一种好习惯。
  • 由于缺乏安全性,建议不要将客户端Media API调用作为UGC上传解决方案。

如果您发现上传到服务器然后到Brightcove的过程花费的时间太长,您可能需要构建一个队列系统。

  1. 用户在浏览器上等待上传到您的服务器。
  2. 您的服务器暂时将文件存储在某处,并将任务添加到存储排队任务的数据库表中。
  3. 当用户仍然排队时,用户会看到该视频处于“待处理状态”。
  4. 计划任务定期检查队列表并一次上传一个任务。任务完成后,它会将视频更新为“准备就绪”。
  5. 用户看到视频已准备就绪。