1

我想将 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。

这可能吗?

谢谢!缺口

4

1 回答 1

4

在他们的JavaScript Media API 示例中有如何从浏览器直接上传到 Brightcove 的示例

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

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

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

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