上传回调
适用场景
OSS在上传文件完成的时候可以提供回调(Callback)给应用服务器。用户只需要在发送给OSS的请求中携带相应的Callback参数,即能实现回调。现在支持CallBack的API 接口有:PutObject、PostObject、CompleteMultipartUpload。
上传回调的一种典型应用场景是与授权第三方上传同时使用,客户端在上传文件到OSS的时候指定到服务器端的回调,当客户端的上传任务在OSS执行完毕之后,OSS会向应用服务器端主动发起HTTP请求进行回调,这样服务器端就可以及时得到上传完成的通知从而可以完成诸如数据库修改等操作,当回调请求接收到服务器端的响应之后OSS才会将状态返回给客户端。
OSS在向应用服务器发送POST回调请求的时候,会在POST请求的body中包含一些参数来携带特定的信息,这些参数有两种,一种是系统定义的参数,如Bucket名称、Object名称等;另外一种就是自定义的参数,用户可以在发送带回调的请求给OSS的时候可以根据应用逻辑的需要指定这些参数。用户可以通过使用自定义参数来携带一些和应用逻辑相关的信息,比如发起请求的用户id等。具体使用自定义参数的方法可以参考Callback。
通过适当的使用上传回调机制,能很好的降低客户端的逻辑复杂度和网络消耗。流程如下:
注意:现只有北京和杭州区域的OSS支持上传回调功能. 目前只有简单上传(PutObject),表单上传(PostObject),分片上传最后完成的时候支持。
功能使用参考:
- API:Callback
- SDK: iOS 上传回调 上传回调通知
最佳实践:
- Web端直传实践及上传回调
相关参考链接:
- 移动端开发上传场景介绍
- 上传后下载
- 上传图片后云端处理
- 上传音频视频文件后云端处理
- 上传安全之访问控制
- 上传安全之授权第三方
- 上传后对文件进行复制,删除等管理操作