收藏
回答

查询投诉单详情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
    10-28

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

    10-28
    有用
    回复 4
    • 💫
      💫
      10-31
      所有这个没啥解决办法吗
      10-31
      回复
    • Memory
      Memory
      10-31回复💫
      你代码写的不对,用官方sdk,简单改下就能支持
      10-31
      回复
    • 💫
      💫
      8小时前回复Memory
      v3/merchant-service/images/{media_slot_url} 直接改成这样就可以访问了, 说你坏你还回我了,说你好直接粘贴一下代码就好了,拐弯抹角的就不说答案,确实你没责任回复我,回复了就好好回复不行吗
      8小时前
      回复
    • Memory
      Memory
      6小时前回复💫
      你要现成的肯定就给你了,你又不说,https://wechatpay.im/openapi/v3/merchant-service/images/%7Bmedia_id%7D 要是藏着掖着就不在网站公开了
      6小时前
      回复
登录 后发表内容