Flash视频上传

优质
小牛编辑
140浏览
2023-12-01

Spark API 中所有的 Flash 接口需要 Flash 插件的版本在 10.1 以上才有效,使用前请确保 Flash 插件版本符合要求。

在上传视频的过程中,不用与 Spark 平台进行 HTTP 通信,使用 JavaScript 和 Spark 平台提供的 Flash 进行交互即可完成。关于如何在网页中嵌入 Flash 以及如何和 Flash 进行交互,请参阅附录 2。上传接口用到的所有 JavaScript 函数定义见下表:

函数定义参数说明
on_spark_selected_file(file_name, file_size)file_name: 上传文件名 file_size: 上传的文件大小,单位字节
on_spark_upload_validated(status, videoid)status: 验证结果 videoid: 视频 id
on_spark_upload_progress(progress)progress: 上传进度。正确时,0~100 之间的整 数,包括 0 和 100;错误时,返回-1.

网页嵌入 Spark 平台提供的上传 Flash 时,需要传递下列参数:

Flash参数(flashvars)说明
progress_interval回调进度函数的时间间隔,默认 1 秒
notify_url视频处理完毕后的通知地址

上传文件的过程一共分为三步:

第一步,选择文件。

Spark 平台提供一个透明的 Flash 进行文件上传,地址如下:

http://p.bokecc.com/flash/api/uploader.swf

由于它是透明的,所以可以置于任何一个 HTML 元素的上方而不影响的页面视觉效果。上传文件时,必须通过点击到该 Flash 从而打开浏览对话框进行文件选择。 文件选择成功后,Flash 会调用页面中的on_spark_selected_file 函数,页面可以选择合适的方式处理该事件。

第二步,验证。

当用户选择文件后,需将下面的参数按照 THQS 算法处理后传递给 Flash 的 start_upload 函数后,才能开始上传流程。首先要进行参数和权限的验证,通过 后才开始文件上传。

参数说明
userid用户 id,不可为空
title视频标题,若为空,则采用去后缀文件名作为 title
description视频简介,可以为空
tag视频标签,可以为空
categoryid视频子分类 id,可选参数

验证完成后,Flash 会调用 on_spark_upload_validated 函数传递验证结果以及视频 id。验证状态码的含义如下:

验证状态码说明
OK成功
NETWORK_ERROR网络错误
其它Spark API 错误码

第三步,文件上传。

文件开始上传后,Flash 会周期性调用 on_spark_upload_progress 函数来报告上传进度,间隔秒数由 progress_interval 参数指定。如果上传的进度为负数, 则说明发生网络错误,上传中断。返回 100 则表示上传成功。当返回 100 或者 -1 后,Flash 就不再调用该函数了。