Skip to content

文件操作工具

本模块提供了文件操作相关的工具函数和类,目前主要实现了视频上传功能,并预留了图片上传和文件下载的扩展空间。

阿里视频点播直传

VideoUploader 类

VideoUploader 类提供了阿里云视频点播服务的上传功能。

基础用法

loading

类型定义

VideoUploadOptions

视频上传选项接口:

typescript
interface VideoUploadOptions {
  file: File
  onUploadProgress?: (uploadInfo: any, totalSize: number, percent: number) => void
  onUploadstarted?: (uploadInfo: { file: File, videoId?: string }) => void
  onUploadTokenExpired?: () => void
}
  • file: 要上传的视频文件对象
  • onUploadProgress: 上传进度回调函数
    • uploadInfo: 上传信息对象
    • totalSize: 已上传的总大小
    • percent: 上传进度(0-1之间的小数)
  • onUploadstarted: 开始上传时的回调函数,提供文件信息和可选的视频ID
  • onUploadTokenExpired: 上传凭证过期时的回调函数

VideoAuthDTO

上传凭证信息接口:

typescript
interface VideoAuthDTO {
  uploadAuth: string // 上传凭证
  uploadAddress: string // 上传地址
  videoId: string // 视频ID
}

VideoUploadResult

上传结果接口:

typescript
interface VideoUploadResult {
  videoId: string // 上传成功后的视频ID
}

功能特性

  1. 支持的视频格式

    • MP4 (video/mp4)
    • OGG (video/ogg)
    • FLV (video/flv)
    • AVI (video/avi)
    • WMV (video/wmv)
    • RMVB (video/rmvb)
    • MOV (video/mov)
  2. 文件大小限制:最大支持 2GB 的视频文件

  3. 自动凭证续期:当上传凭证过期时,会自动调用相关回调函数获取新的凭证继续上传

  4. 上传进度回调:通过 onUploadProgress 回调实时获取上传进度和已上传大小

  5. 错误处理:对上传过程中的各种异常情况进行了处理,并提供友好的错误提示

  6. 回调函数使用:提供了 onUploadFailedonUploadSucceed 回调函数,便于处理上传结果

待实现功能

模块中预留了以下功能的扩展空间:

  1. 图片上传

    • 预留了 ImageUploader
  2. 文件下载

    • 预留了 FileDownloader

这些功能将在后续版本中实现。

Released under the MIT License.