有赞新零售社区

发帖
API使用问题»【求助】开发平台素材上传问题

【求助】开发平台素材上传问题

Zeal 2019-06-07 1310 浏览 5 评论 | 只看楼主 [打印]
  1. 接口地址:<a href="https://open.youzan.com/v3/apicenter/doc-api-main/1/2/storage/youzan.materials.storage.platform.img.upload">https://open.youzan.com/v3/apicenter/doc-api-main/1/2/storage/youzan.materials.storage.platform.img.upload</a>
复制代码

问题:
这个接口请求体的参数不管是image还是image[],又或者值为byte[]还是java.io.File;代码如下:
  1. public static void shopImg() throws IOException {
  2.                 String url = "https://open.youzan.com/api/oauthentry/youzan.materials.storage.platform.img/3.0.0/upload?access_token=" + YouZanUtil.getAccessToken();
  3.                 String imgpath = "D:/usr/2015051915.jpg";
  4.                 byte[] bytes = YouZanUtil.fileToByteArray(imgpath);
  5.                 File file = new File(bytes);
  6.                 MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<>();
  7.                 paramMap.add("image[]", file);
  8.                 paramMap.add("image", file);
  9.                 paramMap.add("image[]", bytes);
  10.                 paramMap.add("image", bytes);
  11.                 String json = new RestTemplate().postForObject(url, paramMap, String.class);
  12.                 System.out.println(json);
  13.         }
复制代码


返回的结果都是
  1. {
  2.         "error_response": {
  3.                 "code": 53001,
  4.                 "msg": "image[] cannot be empty"
  5.         }
  6. }
复制代码
求解?

用手机打开
收藏 ··· 回复
    开放平台的api可以参考接口示例:
    https://open.youzan.com/v3/apice ... platform.img.upload
    有赞-技术支持

      注意:
      image[] 参数类型:byte[]  ,本地图片上传(http post),仅支持单个文件上传,每个文件不超过1MB。
      有赞-技术支持

        756791370798   青铜   2019-06-11 | 只看该作者
        请问你这边怎么解决的呀

          有赞-技术支持

            Zeal 青铜   2019-06-24 | 只看该作者
            756791370798 发表于 2019-6-10 18:22
            请问你这边怎么解决的呀


            我的代码写的有问题,改成以下这样既可:
            1. String url = "https://open.youzan.com/api/oauthentry/youzan.materials.storage.platform.img/3.0.0/upload?access_token=***";
            2.                 String json = "";
            3.                 File file = new File(imgPath);
            4.                 if(file.exists()) {
            5.                         MultiValueMap<String, Object> request = new LinkedMultiValueMap<>();
            6.                         FileSystemResource resource = new FileSystemResource(file);
            7.                         request.add("image[]", resource);
            8.                         json = RestTemplateUtil.getInstance().postForObject(url, request, String.class);
            9.                 }
            10.                 LOG.debug(json);
            复制代码

              1跳至
              您需要登录后才可以回帖 登录 | 立即注册

              本版积分规则

              复制链接
              新浪微博
              QQ空间
              微信扫码
              • 回复

              • 评分

              客服工作时间是9:00-18:00,客服妹子当前不在线,若不能及时回复请谅解。试试右上角的搜索吧,论坛有丰富的经验贴、公告贴,相信一定能够帮到您~

              复制成功