开发者社区> 问答> 正文

OSS 上传成功回调失败

我的问题是上传成功回调失败,错误信息如下:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>CallbackFailed</Code>
  <Message>Response body is not valid json format.</Message>
  <RequestId>57232B8C15D46CC9760B6ECC</RequestId>
  <HostId>js-store.oss-cn-beijing.aliyuncs.com</HostId>
</Error>
错误信息说我的 body json格式错了, 我检查我的 callbackBody 如下:
Callback myCallback = new Callback() ;
myCallback.setCallbackUrl( callbackUrl) ;
myCallback.setCallbackBody( "bucket_name=${bucket}&filename=${object}&etag=${etag}&size=${size}") ;
myCallback.setCalbackBodyType(Callback.CalbackBodyType. JSON) ;
myCallback.setCallbackHost( "js-store.oss-cn-beijing.aliyuncs.com") ;
String callbackString = String. valueOf(JSONObject. fromObject(myCallback)) ;
logger.info( "callbackString: " + callbackString) ;
byte[] callbackByte = callbackString.getBytes( "utf-8") ;
String callbackBase64 = BinaryUtil. toBase64String(callbackByte) ;
打印出来的JSON:{
   "calbackBodyType" : "JSON" ,
   "callbackBody" : "bucket_name=${bucket}&filename=${object}&etag=${etag}&size=${size}" ,
   "callbackHost" : "js-store.oss-cn-beijing.aliyuncs.com" ,
   "callbackUrl" : "这里省略" ,
   "callbackVar" : {}
}
我的回调方法里打印的 callback 参数是 null 说明OSS已经按照我的callbackUrl发送请求,但是body内无值我的问题是该怎么设置 callbackBody 我的检查是 json格式 但是还是 报错 203 回调失败, 请大神帮解决!

展开
收起
zlhl 2016-04-29 18:01:08 18697 0
5 条回答
写回答
取消 提交回答
  • 兄台,我的问题是:上传成功,回调一直报404

    2021-02-22 22:10:25
    赞同 展开评论 打赏
  • 阿里云对象存储(OSS)开发工程师
    2016-07-27 09:09:07
    赞同 展开评论 打赏
  • ReOSS 上传成功回调失败
    遇到同样的问题,楼主解决的吗??
    2016-07-26 17:51:22
    赞同 展开评论 打赏
  • ReOSS 上传成功回调失败
    我反复测试了一下,如果文件名称过长或者有中文就报 203错误  上传成功 回调失败 .
    上传成功后,OSS返回的文件信息都能收到,看似一切正常,为什么还是报回调失败, body 的 json格式不正确?
    OSS对文件名称的长度限制是多少?中文如何解决?
    2016-05-04 10:29:54
    赞同 展开评论 打赏
  • Aliyun OSS 研发,专注存储高性能
    在你的应用服务器上抓包看看,看看返回给OSS 的回调body 是否真实Json 格式的串
    2016-05-01 10:24:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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