上传JS SDK

Polyv JavaScript 上传 SDK 为您提供上传媒体文件到保利威云点播平台的开发工具包。

功能

  • 快捷上传多种格式的媒体文件。

  • 支持上传时的各种设置,如文件标题、描述、标签、上传目录、是否开启课件优化处理等。

  • 默认采用分片并发上传的方式,支持断点续传

使用方法

前提条件

  1. 使用本 SDK 前,要先开通保利威云点播服务。如果您还不了解该服务,请登录产品主页查看,详见:云点播

  2. 获取 secretKey 等相关信息用于用户身份校验,您可以在「云点播管理后台 -> 设置 -> API接口」页面中找到相关信息,点击这里登录后台

浏览器支持

  • IE(>=10)和Edge。

  • 主流版本的 Chrome、Firefox、Safari。

  • 以主流版本 Chrome 为核心的浏览器,如最新版本的 QQ 浏览器、360 浏览器等。

集成 SDK

您可以选择以下任意一种方法调用本 SDK:

方法一:引入在线资源

方法二:通过 npm 安装

第一步,在项目目录下运行安装命令:

第二步, 在页面中引入(需要构建工具支持):

或者

快速开始

初始化上传实例

首先,创建 PlvVideoUpload 实例。

调用 updateUserData() 设置账号授权验证信息,并每隔 3 分钟更新一次

其中 ptime、sign 和 hash 都要从服务端获取,服务端的代码示例(PHP)如下:

添加上传文件进入上传列表

调用 PlvVideoUpload 实例的 addFile(file, events, fileSetting) 方法,添加文件到文件列表,该方法返回一个 UploadManager 对象:

API 文档

注: 由于业务需要,开源版本的代码和文档目前已经不再更新,仅供参考。 见源代码中的 docs 文件夹或 点击此处打开

示例代码

1、JS示例

源代码中的 demo 文件夹包含两个示例:

  • dev.html & dev.js:以模块化方式引入 SDK 的示例。需要修改 build 文件夹下的 webpack.dev.config.js 文件中的账号信息,然后在本项目根目录下运行 npm run dev ,打开浏览器访问 http://127.0.0.1:14002/index.html 即可。

  • index.html & index.js:以 script 标签引入 SDK 的示例。需要修改 JS 文件中的 getPolyvAuthorization 变量为有效的请求地址,才能正常使用。

2、Vue示例

1、补充示例中的userid、secretkey、writeToken即可,在保利威点播后台 设置->API接口 获取。

2、需要安装element-ui 和 md5 依赖。

错误代码

Error 事件已知错误类型:

code
描述

102

用户剩余空间不足

110

文件重复

111

拦截文件类型不在 acceptedMimeType 中的文件

112

文件已经开始上传或已上传完毕,禁止修改文件信息

FileFailed 事件已知错误类型:

type
code
描述

InitUploadError

3001

分类不存在

InitUploadError

405

上传视频初始化失败

InitUploadError

406

视频大小不能为0

InitUploadError

408

账户服务状态异常,请联系客服

MultipartUploadError

断点续传时出错

UpdateTokenError

更新上传token时获取token失败

NoSuchUploadError

Multipart Upload ID 不存在

版本更新

v1.6.0

  • 修复线路授权过期重试异常的问题

v1.5.0

  • 修复特定情况下断点续传异常的问题

v1.4.1

  • 内部优化

  • 默认线路问题修复

v1.3.0

  • 上传线路升级

v1.2.3

  • 增加region参数

v1.2.2

  • cataid 不存在时返回提示。

  • 规范FileFailed事件返回的数据格式与字段名称。

v1.2.1

  • 问题修复

v1.2.0

  • 支持使用子账号信息上传视频文件

v1.1.3

  • 优化文件上传失败时的回调message

v1.1.2

  • 增加支持文件名后缀大写的文件上传,如 file_example.MP3

  • 修改示例代码

v1.1.1

  • 优化文件上传失败时的重试逻辑

  • 文件上传失败时返回的错误信息中增加 errData 属性

v1.1.0

  • 增加对自定义信息字段的支持

v1.0.0

Last updated

Was this helpful?