目标:想要通过 wx.cloud.callContainer 调取云托管服务上的 http API(chunked)
小程序Base Library: 2.33.0
现状:
- 当前在本地开发环境(本地小程序 调用 本地后台服务器):使用 wx.request 获取到 RequestTask 对象,然后 requestTask.onChunkReceived(),是可以实现前后端之间的 chunked 调用传输的;
- 但当 后端部署到微信云托管服务器上之后,云托管服务公网域名”仅只能用于测试,不能用于生产“,不能配置成小程序的服务器域名,因此 wx.request 无法调用。
因此想要改用小程序的 wx.cloud.callContainer API,但不知如何通过 wx.cloud.callContainer 获得 RequestTask 对象,用以支持 onChunkReceived ?或者 wx.cloud.callContainer 是否有其他方式支持 chunked?
请问楼主最终如何解决的呀?我现在也是碰到这个问题了,头大
wx.cloud.callContainer API 不直接支持 chunked 传输方式。它是基于云函数调用的,云函数本身不支持 chunked 传输方式。
如果你需要在小程序中使用 chunked 传输方式,可以考虑以下两种方案:
如果你需要在云托管服务器的公网域名上部署你的后台服务器,但是无法配置成小程序的服务器域名,你可以考虑使用反向代理来解决。你可以在云托管服务器的公网域名上部署一个反向代理服务器,将所有请求转发到你的后台服务器。这样你就可以在后台服务器上使用 wx.request 来调用,并且仍然可以使用 RequestTask 对象的 onChunkReceived 方法来处理 chunked 传输。
<p>
<a href="https://www.pycac.com/post/334684.html" target="_self" style="color: rgb(255, 255, 255); text-decoration: underline;"><span style="color: #FFFFFF;">宠物百科</span></a>
</p>