欢迎,请 登录 | 注册 | 加入收藏

上传api接口说明

上传接口说明

参数说明

uploaddkey:后台系统设置-上传设置-上传密钥

md5值是取文件前10M作为文件md5值

可以参考软件文件夹/work/public/upload/js/upload.js

 

上传接口说明

ppvod 的上传是基于标准 web页面上传,是分片式的上传,以保证最大化的传输效率及断点续传,用户需要对上传的文件进行固定尺寸的分片,每次上传一个分片,当所有分片上传完成后,向服务器发送合并分片的请求,完成文件的整体上传。基本流程如下:

ReferenceError: Diagram is not defined
  • 检测分片是否存在(chunkCheck)时 ,如果分片已经存在可以直接跳过,传输下一个分片,依次类推
  • 文件分片不宜过小,建议按照 10 * 1024 * 1024 进行分片
  • 下面的接口说明以javascript举例,重点关注 URL的传参及服务器的数据回应即可。

文件是否存在检测

通过MD5检测上传的文件是否已经存在,如果存在,返回文件信息,URL请求参数说明:

  • status 固定值 md5Check
  • md5 md5值
  • uploadkey 上传秘钥
//请求URL
const url = 'http://播放域名/uploads?status=md5Check&uploadkey=uploaddkey&md5=文件md5值'

//文件存在的响应:
$.post(url, function(data) {
   //文件存在响应格式
   data = {
      ifExist: 1,
      duration: 30, //影片时长
      title: "",//标题
      path: "", //路径
      pic: "", //图片路径
      pics: "",
      gif: "", //动态图片路径
      qr: "", //二维码路径
      orgfile: "", //原始文件
      url: "", //m3u8的url
      mp4: "", // mp4 文件路径
      share: "" //分享地址路径
   }

   //文件不存在响应格式
   data = {
      ifExist: 0
    
   }
});

分片检测

检测指定的文件分片是否存在,URL请求参数说明:

  • chunkIndex 表示分片索引,从0开始计数。
  • name md5值
  • size 当前分片长度
//请求URL
const url = 'http://播放域名/uploads?status=chunkCheck&name=md5&size=1024000&chunkIndex=3'

//文件存在的响应:
$.post(url, function(data) {
   //文件存在响应格式
   data = {
      ifExist: 1,
   }

   //文件不存在响应格式
   data = {
      ifExist: 0
   }
});

分片上传

通过标准的form表单方式上传文件分片,注意form 表单的编码类型应该为 multipart/form-data.
form表单字段说明:

  • userId 上传秘钥
  • uniqueFileName md5值
  • chunk 3 当前上传的分片索引
//请求URL
const url = 'http://播放域名/uploads'
//响应200表示成功,其他失败

注意在上传时,请保证userId 是表单中的第一个字段,如果编程实现,构造formdata 时候,也务必保证将userId 字段放在分片内容之前,否则会出现校验失败

分片合并

所有分片传输完成后,执行此操作,服务器将对之前上传的所有分片进行校验并合并,URL请求字段说明:

  • status 固定值chunksMerge
  • md5 md5值
  • chunks 分片总数
  • name md5值
  • fileoldname 原始文件名(不带扩展名)
  • ext 原始文件扩展名(不带.) 比如 mp4
//请求URL
const url = 'http://播放域名/uploads'

//文件存在的响应:
$.post(url, function(data) {
   //合并成功响应
   data = {
    duration: 30, //影片时长
    title: "",//标题
    path: "", //路径
    pic: "", //图片路径
    pics: "",
    gif: "", //动态图片路径
    qr: "", //二维码路径
    orgfile: "", //原始文件
    url: "", //m3u8的url
    mp4: "", // mp4 文件路径
    share: "" //分享地址路径
}

   //文件不存在响应格式
   data = { error: "文件不完整!" }
});

 

以下是java环境的上传代码:

sdk下载https://github.com/ppvod/upload-sdk

代码包下载

 安卓端上传代码和苹果ios上传源码已经写好,付费用户可到群文件自行下载。

 由于文件太大,请联系客服QQ250093148索取文件包。

以下是一位客户提供的nodejs版本的上传代码,可供参考:

video-task.service.txt
文件类型: .txt 50edadb5d6a5dff17887475c24ba2ce5.txt (11.13 KB)


PPVOD视频点播系统下载地址:http://www.ppvod.com/dianbo/xiazai/440.html
PPVOD全能直播软件下载地址:http://www.ppvod.com/zhibo/xiazai/511.html
在线服务QQ:250093148

收缩