阿里云存储oss在上传文件的时候 通常会有回调的参数 为callbackurl 需要我们去设置这个参数 才能正确回调 。按照官方文档的接口配置 这个参数是在callback对象里 这个对象包含callbackurl和callbakbody,然后使用base64加密进行文件上传操作 调用接口 阿里云oss就会解析到为callbackurl 并进行回调,但是问题来了,今天我在使用这个上传图片接口时发现一直报错502
如下<Error>
CallbackFailed
<Message>Error status : 502.</Message>
<RequestId>6801F143A3B40E3436DE63CB</RequestId>
<HostId>fuqing-hospital-test.oss-cn-shanghai.aliyuncs.com</HostId>
<EC>0007-00000203</EC>
<RecommendDoc>https://api.aliyun.com/troubleshoot?q=0007-00000203</RecommendDoc>
</Error>
然后根据官方提示 我去查看了服务器和防火墙 发现没有问题 最后碰巧去修改callback参数为callbackurl 居然解决了问题 可以正常上传并回调了。 这里就让我很好奇 因为官方文档依旧是传callback对象 参数名并没有迭代为callbackurl 但是修改完又确实可以解决问题 这里想问下大家有没有类似经历。到底是啥问题导致的?
虽然阿里云文档说要用
callback
对象(包含callbackUrl和callbackBody),但实际上直接用callbackUrl
参数反而成功了。这种文档和实际不一致的情况确实很让人困惑。的确阿里也经常出现这种问题,就是文档更新延迟。几个可能的原因:
这种"文档说一套,代码做一套"的情况在开发中真的很常见。有时候我们按照文档写的代码反而不工作,改成"不正确"的方式反而成功了。
既然直接用
callbackUrl
能解决问题,就继续用这种方式吧。如果你想帮助其他开发者,可以考虑在阿里云论坛上分享这个发现,或者向官方提交反馈。你这个经历会帮助其他遇到同样502错误的开发者少走弯路!