收藏
回答

上传图片后,打开提示图片损坏,如何处理?

https://developers.weixin.qq.com/doc/store/API/basics/img_upload.html


上传后成功返回mediaId,通过mediaId下载,提示图片损坏,对比二进制流,发现返回的头部多了文件名和文件类型,请问如何处理?????

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

3 个回答

  • 微信小店技术助手-2
    微信小店技术助手-2
    11-20

    您好 我们核实下

    11-20
    有用
    回复 3
    • 楚林
      楚林
      11-21
      麻烦请尽快核实一下,我们已经卡主两周了。。。很难受的,直接按照接口单curl方式,也是成功获取mediaId,下载后,一样的问题,导致图片无法显示
      11-21
      回复
    • 楚林
      楚林
      11-26
      什么时候有核实结果????
      11-26
      回复
    • 微信小店技术助手-2
      微信小店技术助手-2
      11-26回复楚林
      请看下私信
      11-26
      回复
  • 楚林
    楚林
    11-06
    BufferedImage img = ImageIO.read(file.getInputStream());
            //获取图片的长和宽
            int width = img.getWidth();
            int height = img.getHeight();
            // 调用微信上传图片接口
            // 使用Hutool的HttpUtil上传图片
            JSONObject jsonParam = new JSONObject();
            jsonParam.put("upload_type",0);
            jsonParam.put("resp_type",0);
            jsonParam.put("height",height);
            jsonParam.put("width",width);
            List<String> list = new ArrayList<>();
            for(String key : jsonParam.keySet()){
                list.add(String.format("%s=%s",key,jsonParam.getString(key)));
            }
            String token = TenantTokenCacheUtils.getToken(UserContextHolder.getTenantId());
            String strUrl = String.format("https://api.weixin.qq.com/channels/ec/basics/img/upload?access_token=%s&%s",token,String.join("&",list));
            File tempFile = new File("D:\\temp_image.jpg");
    
            file.transferTo(tempFile);
            HttpResponse response = HttpUtil.createPost(strUrl)
                    .header("content-type", "image/jpg")
                    .form("media", tempFile).execute();
    


    11-06
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    发表于小程序端
    11-06

    postman试过吗

    11-06
    有用
    回复 2
    • 楚林
      楚林
      11-06
      试过用终端 curl 的方式,按照官方接口文档的方式,成功返回mediaId,下载图片一样提示损坏(二进制头部比本地图片多了头部的文件名称及类型)
      11-06
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于小程序端
      11-06回复楚林

      用了也得用对啊,咋用的,代码咋写的全看不见

      11-06
      回复
登录 后发表内容