web端签名后直连oss并设置上传回调[阿里云oss]

至上次解决直连上传问题后又出现问题..

这次是设置上传回调问题

这是callback回调参数,官方要求的Snipaste_2023-02-22_12-25-21.png

按我的理解是在Java后端签名的时候加上一个callback参数,这个参数的值是一个base64字符串,这个字符串是由一个实体类转化而来的,这个实体类就得包含上述回调参数。

目前是测试阶段还没有服务器,而callback回调里面是需要一个外网地址的,于是我就去试试内网穿透,得到一个地址,并补充上接口地址,作为回调地址。

问题就来了,在我上传文件后,后端是没有输出的(我在Controller对应方法里写了log.info),说明oss服务器那边没有按照我的地址调用我的Controller方法。

我把这个回调地址丢到postman中测试,后端控制台是有打印的,就卡住了没有头绪,希望大家能给点建议…..又或者是我哪里理解有问题帮忙纠正一下,谢谢!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 对象储存0SS

  2. 一般来说,我们开发的业务相对于云产品比如OSS来说的话,我们都属于第三方应用,这种情况下大部分回调不通都是由于内外网不互通导致的,阿里所有的云产品都是在公网的,而第三方应用大部分都是在非公网,这样的话通过公网回调非公网的话,即便是配置了回调域名也调不通的,因为你的应用回调地址相对于公网云服务OSS来说是不可见的。最好的测试办法就是把你的应用部署在公网服务器或者是阿里云服务器ECS上面,然后配置对应的公网地址作为回调地址再测试就可以看到回调效果了。

  3. 首先是通信的问题,比如说回调的处理,比如说A调用B,B处理之后会回调A对吧;但是呢,A是可以调用通B的,这个没有问题,大部分能上网的没有白名单限制的,都可以调用通过。但是在B回调A的时候,这个时候如果没有一个外网服务器的话,正常是调用不同的。 所以,需要排查一下B回调的时候,是不是可以通过的,这个是回调的根本所在,回调的基础就是A、B是可以互相通信的。 本次Postman测试没有意义,环境不对等。