收藏
回答

图片上传API(营销)401验证签名失败,postman方式?

您好,在调用图片上传API上传商户营销图片时一直报401签名认证失败,返回的签名信息中没有body,但是传输时是传了body并生成签名的

后端准备使用java来调用图片上传接口,但是后端一直调用不通,其他微信支付接口通过这种方式可以调通,主要是请求体没有这么复杂,这个现在用postman请求调用,想咨询下postman如何调用,或者java有没有调用实例

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

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-09-28

    可以参考这一段实力代码进行操作。已经经过调试,没有问题的。

    2020-09-28
    有用
    回复 1
    • 北望沣渭
      北望沣渭
      发表于移动端
      2020-09-28
      亲,这是你写的么,好赞哦,源码开放一下呗
      2020-09-28
      回复
  • 北望沣渭
    北望沣渭
    2020-09-28

    建议用官方maven包,源码地址:  https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient

    使用WechatPayUploadHttpPost构造一个上传的HttpPost,需设置待上传文件的文件名,SHA256摘要,文件的输入流。

    通过WechatPayHttpClientBuilder得到的HttpClient发送请求。示例请参考下列代码。

    String filePath = "/your/home/hellokitty.png";
    URI uri = new URI("https://api.mch.weixin.qq.com/v3/merchant/media/upload");
    File file = new File(filePath);
    
    try (FileInputStream ins1 = new FileInputStream(file)) { 
      String sha256 = DigestUtils.sha256Hex(ins1);
      try (InputStream ins2 = new FileInputStream(file)) {
        HttpPost request = new WechatPayUploadHttpPost.Builder(uri)
            .withImage(file.getName(), sha256, ins2)
            .build();
        CloseableHttpResponse response1 = httpClient.execute(request);
      }
    }
    

    AutoUpdateVerifierTest.uploadImageTest 是一个更完整的示例。


    2020-09-28
    有用
    回复 1
    • GSean180
      GSean180
      发表于移动端
      2020-09-28
      好的已解决
      2020-09-28
      1
      回复
登录 后发表内容
问题标签