收藏
回答

查询投诉单详情API 获取到的图片url含"+/"特殊字符串 会导致图片打不开如何解决

同一个历史协商接口里面两个数据

https://api.mch.weixin.qq.com/v3/merchant-service/images/ChsyMDAwMDAwMjAyNDEwMjgxNjAyMjE4NTgyMTISGzMwMDIwMDAyMDI0MTAyODE5NTE4MzA0NTM0MxgAILyA%2FrgGKAMwATgB

https://api.mch.weixin.qq.com/v3/merchant-service/images/ChsyMDAwMDAwMjAyNDEwMjgxNjAyMjE4NTgyMTIYACC8gP64BigBMAE4AQ%3D%3D


下面的media_id 就可以正常访问,但是上面带有%2F 的图片就无法访问

获取图片地址的代码如下

$stack = clone $this->builder->getDriver()->select()->getConfig('handler');
$stack->remove('verifier');
//  下载接口都是非标接口,要特殊搞一下 要 {+media_slot_url} 这样的语法结构
$response = $this->builder->chain('v3/merchant-service/images/{+media_slot_url}')->get([
    'handler' => $stack,
    'media_slot_url' => $mediaId,
]);

if ($response->getStatusCode() == 200) {
    return [current($response->getHeader('Content-Type')), base64_encode($response->getBody()->getContents())];
}


回答关注问题邀请回答
收藏

1 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    星期一 21:48

    哈哈哈,你这个应该单独开个贴喷一下服务提供方

    星期一 21:48
    有用
    回复 2
    • 💫
      💫
      2天前
      所有这个没啥解决办法吗
      2天前
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2天前回复💫
      你代码写的不对,用官方sdk,简单改下就能支持
      2天前
      回复
登录 后发表内容