开发者社区> 问答> 正文

OSS回调成功了却显示203错误

1.OSS 设置回调地址,回调成功了,但却显示203错误,如下
CallbackFailed Callback to application server failed, please check your callbackUrl. 5663F7B9B295343C79332060 saas01.oss-cn-hangzhou.aliyuncs.com


用的例子是表单上传PHP回调上传那个,info.status返回的是203,但实际已调用了回调函数,应用服务器已获取到文件信息

FileUploaded: function(up, file, info) {
            console.log('uploaded')
            console.log(info.status)
            set_upload_param(up);
            if (info.status == 200)
            {
                document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = 'success';
            }
            else
            {
                document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = info.response;
            }
},




2.OSS既然不支持表单大文件的断点上传和断点下载,是不是意味着要进行表单断点上传只能走应用服务器,再由应用服务器把数据发给OSS?除了这个有什比较好的解决方法吗?
3.我通过向应用服务器申请 在header头部进行的签名Authorization,是不是要根据获取到的这个Authorization向OSS发送请求。请求如下,这样写会返回403错误,请问具体要怎么写?
date=new Date().toUTCString();

$.ajax({
                async:true,
                cache:false,
                type: 'post',
                dataType : "jsonp",
                jsonp:"jsoncallback",
                url:"http://example.oss-cn-hangzhou.aliyuncs.com/test“,
                headers: {
                  "Authorization":"OSS dfEREKOkodf345dfd:vfcQEKlhMqWLS7yutRTJJui4sSiU=",
                    "Content-MD5":"",
                    "Content-Type": "text/html",
                    "Date": date,
                    "X-OSS-Meta-Author": " foo@bar.com",
                    "X-OSS-Magic": "abracadabra",
                    "host":"example.oss-cn-hangzhou.aliyuncs.com",

                },success:function(data){

                }
            });

展开
收起
f7anty 2015-12-06 16:22:39 24178 0
9 条回答
写回答
取消 提交回答
  • ReOSS回调成功了却显示203错误
    [font=PingFangSC, "]oss回调203怎么解
    [font=PingFangSC, "]

    1. <Error>
    2. <Code>CallbackFailed</Code>
    3. <Message>Error status : 302.</Message>
    4. <RequestId>5B7B74B84D5A2B48061EAD0E</RequestId>
    5. <HostId>****.oss-cn-qingdao.aliyuncs.com</HostId>
    6. </Error>
    2018-09-19 16:47:20
    赞同 展开评论 打赏
  • ReOSS回调成功了却显示203错误



    一、CallbackFailed Callback to application server failed, please check your callbackUrl  
    表明你的回调url在公网下不可访问




    二、Response body is not valid json format
    表面你回应oss的不是json格式的数据。注意文档中说oss会访问回调接口,把结果原样返回到用户前端,所以根据你自己的需要设定响应内容。
    在sdk demo中是如下返回的(AppCallbackServer中):
    protected void doGet(HttpServletRequest request , HttpServletResponse response)
           throws ServletException , IOException {
       System. out.println( "用户输入url:" + request.getRequestURI()) ;
       response(request , response , "input get " , 200) ;
    }
    private void response(HttpServletRequest request , HttpServletResponse response , String results , int status) throws IOException {
       String callbackFunName = request.getParameter( "callback") ;
       response.addHeader( "Content-Length" , String. valueOf(results.length())) ;
       if (callbackFunName == null || callbackFunName.equalsIgnoreCase( ""))
          response.getWriter().println(results) ;
       else
          response.getWriter().println(callbackFunName + "( " + results + " )") ;
       response.setStatus(status) ;
       response.flushBuffer() ;
    }
    它直接返回一个inut get字符串,因此如果不改动的话返回的自然不是json格式。
    只需要如下设置result就可以正常响应;


    JSONObject object = new JSONObject() ;
    object.put( "code" , 200) ;
    object.put( "message" , "success") ;
    String results = JSONObject. fromObject(object).toString() ;
    this.response(request , response , results , 200) ;



    2018-04-29 16:59:12
    赞同 展开评论 打赏
  • Serverless | Function Compute
    回答2,3:

    2. 可以使用OSS Javascript SDK: https://help.aliyun.com/document_detail/32069.html
    3. 参考OSS Javascript SDK的签名实现: https://github.com/ali-sdk/ali-oss/blob/master/lib/client.js#L123
    2016-07-15 19:42:46
    赞同 展开评论 打赏
  • ReOSS回调成功了却显示203错误
    前两天,也碰到这个问题。文件已经在oss的bucket,为什么不是回调请求的状态码不是200,问题是回调没成功。我的情况是,我的回调接口是本地的,oss的服务器在外网没法访问,所以虽然文件传上去了,但是回调没成功。解决办法:我用了ngrok,让oss可以访问我的接口,状态码就变成200.
    2016-07-15 19:24:40
    赞同 展开评论 打赏
  • ReOSS回调成功了却显示203错误
    我的同样的问题 但是报错 body json格式不对
    错误信息:
    <?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 设置:
    Callback.setCallbackBody("bucket_name=${bucket}&filename=${object}&etag=${etag}&size=${size}");
    2016-04-29 17:45:30
    赞同 展开评论 打赏
  • 回 4楼xgp的帖子
    OSS
    2015-12-08 14:36:05
    赞同 展开评论 打赏
  • 阿里云对象存储(OSS)开发工程师
    回 2楼(f7anty) 的帖子
    你可以把错误的详细信息发出来么,比如requestid等
    2015-12-08 13:34:31
    赞同 展开评论 打赏
  • ReOSS回调成功了却显示203错误
    没回答到点子,问题如负一楼
    1.OSS 设置回调地址,回调成功了,但却显示203错误
    2.OSS既然不支持表单大文件的断点上传和断点 下载 ,是不是意味着要进行表单断点上传只能走应用服务器,再由应用服务器把 数据 发给 OSS ?除了这个有什比较好的解决方法吗?
    3.我通过向应用服务器申请 在header头部进行的签名Authorization,是不是要根据获取到的这个Authorization向OSS发送请求。请求如下,这样写会返回403错误,请问具体要怎么写?


    -------------------------

    回 4楼xgp的帖子
    大神,还在么?
    回调是成功的,可以在应用服务端获取回调的信息,但是还是返回203错误

    <?xml version="1.0" encoding="UTF-8"?>
    <Error>
      <Code>CallbackFailed</Code>
      <Message>Callback to application server failed, please check your callbackUrl.</Message>
      <RequestId>56667A0E957EEB2E70089346</RequestId>
      <HostId>saas01.oss-cn-hangzhou.aliyuncs.com</HostId>
    </Error
    2015-12-07 16:19:23
    赞同 展开评论 打赏
  • ReOSS支不支持表单多文件批量上传
    1. oss不支持表单批量上传。
    2. 表单大文件断点上传目前不支持。
    3. 表单上传文档:
    "https://help.aliyun.com/document_detail/oss/user_guide/upload_object/post_upload.html"

    -------------------------

    ReOSS回调成功了却显示203错误
    1. oss callback 返回203, 表示上传已经成功了, 但callback请求失败.  以区别请求错误码.

    2. oss 不支持表单断点上传, multipart方式不支持表单上传, 使用url 签名的方式做. 或者写一些代码做到.

    3. oss 表单上传签名方法在文档有说明, 可以看一下示例代码.
        "https://help.aliyun.com/document_detail/oss/user_guide/upload_object/post_upload.html"
        "用OSS的AccessKeySecret对base64编码后的Policy进行签名。"
    2015-12-06 17:12:21
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

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