【问题标题】:Upload video to Brightcove through HTML form with Coldfusion使用 Coldfusion 通过 HTML 表单将视频上传到 Brightcove
【发布时间】:2015-01-15 14:00:02
【问题描述】:

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

这可能吗?

谢谢! 尼克

【问题讨论】:

    标签: coldfusion brightcove


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 谢谢,这很有帮助!
    • 没问题。我刚刚经历了与 Brightcove 的 Zencoder 服务非常相似的事情,除了我使用的是 Ruby。 delayed_job 队列管理器非常宝贵;可惜CF没有类似的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 2021-11-22
    • 2018-06-24
    • 1970-01-01
    相关资源
    最近更新 更多