开发者社区> 问答> 正文

对象存储 OSS上传后回调通知

已解决

展开
收起
2018-05-03 20:41:45 2798 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    客户端在上传Object时可以指定OSS服务端在处理完上传请求后,通知您的业务服务器,在该服务器确认接收了该回调后将回调的结果返回给客户端。因为加入了回调请求和响应的过程,相比简单上传,使用回调通知机制一般会导致客户端花费更多的等待时间。

    具体说明参考:Callback

    代码示例:

    1. PutObjectRequest put = new PutObjectRequest(testBucket, testObject, uploadFilePath);
    2. put.setCallbackParam(new HashMap<String, String>() {
    3. {
    4. put("callbackUrl", "110.75.82.106/callback");
    5. put("callbackHost", "oss-cn-hangzhou.aliyuncs.com");
    6. put("callbackBodyType", "application/json");
    7. put("callbackBody", "{\"mimeType\":${mimeType},\"size\":${size}}");
    8. }
    9. });
    10. OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
    11. @Override
    12. public void onSuccess(PutObjectRequest request, PutObjectResult result) {
    13. Log.d("PutObject", "UploadSuccess");
    14. // 只有设置了servercallback,这个值才有数据
    15. String serverCallbackReturnJson = result.getServerCallbackReturnBody();
    16. Log.d("servercallback", serverCallbackReturnJson);
    17. }
    18. @Override
    19. public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
    20. // 异常处理
    21. }
    22. });

    如果需要支持自定义参数,参考如下设置:

    2018-05-10 06:36:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载