OSS文件上传

本文介绍基于OSS服务端API上传相关接口的使用。

概述

获取视频或图片的上传地址和凭证后,进行Base64解析得到OSS上传的STS Token和地址,通过以下API进行文件上传。为方便使用,建议采用上传SDK进行文件上传。

简单上传接口

注意

支持的最大单个文件为5 GB,不支持断点续传。

API

描述

PutObject

使用简单方式上传Object。

PostObject

使用表单方式上传Object。

AppendObject

使用追加写方式上传Object。

分片上传接口

注意

支持的最大单个文件为48.8 TB,支持断点续传。

API

描述

InitiateMultipartUpload

初始化MultipartUpload事件。

UploadPart

分块上传文件。

CompleteMultipartUpload

完成整个文件的MultipartUpload上传。

AbortMultipartUpload

取消MultipartUpload事件。

ListMultipartUploads

罗列出所有执行中的MultipartUpload事件。

ListParts

罗列出指定Upload ID所属的所有已经上传成功Part。

上传校验接口

注意

获取Meta信息里的crc64值,可对文件完整性进行校验。

API

描述

GetObjectMeta

获取Object的Meta信息。

HeadObject

获取Object的Meta信息,同GetObjectMeta。

使用说明

使用接口前,确保已完成上传地址和凭证的获取和解析。接口参数和解析到的上传信息有如下对应关系:

  • 参数ObjectName对应解析到的FileName

  • 参数Host对应Bucket.Endpoint

    注意

    需要将Endpointhttp(s): 放置到最前面。

  • 计算参数Authorization时:

    • 使用的签名密钥为解析得到的AccessKeyId和AccessKeySecret,不要使用自己账号的AccessKey信息。

    • 需将解析得到的SecurityToken携带在请求header中,或以请求参数的形式放入URL中。两种形式只能选择其一,如果都选,OSS会返回InvalidArgument错误。

    • 在 header 中包含头部 x-oss-security-token:SecurityToken。计算签名 CanonicalizedOSSHeaders 时,将 x-oss-security-token 计算在内。

    • 在URL中携带参数 security-token=SecurityToken。计算签名 CanonicalizedResource 时 ,将 security-token 当做一个 sub-resource 计算在内。

    注意

    计算Authorization签名的方式参考在Header中包含签名在URL中包含签名

使用OSS的API需自行计算签名,过程较复杂,推荐使用OSS的上传SDK