收藏
回答

上传永久素材报错412,是什么情况?

try (InputStream inputStream = new URL(remoteMediaUrl).openStream();
     CloseableHttpClient httpClient = HttpClients.createDefault()) {
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      byte[] buffer = new byte[1024];
      int len;
      while ((len = inputStream.read(buffer)) != -1) {
          baos.write(buffer, 0, len);
      }
      InputStream bais = new ByteArrayInputStream(baos.toByteArray());
      
      InputStreamBody inputStreamBody = new InputStreamBody(bais,"test.png");

      MultipartEntityBuilder builder = MultipartEntityBuilder.create();
      builder.addPart("media", inputStreamBody);
      
      HttpEntity entity = builder.build();
      HttpPost httpPost = new HttpPost(uploadUrl);
      httpPost.setEntity(entity);
      
      // 执行请求
      CloseableHttpResponse response = httpClient.execute(httpPost);
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    06-09

    你好,Java报错返回412吗?

    06-09
    有用
    回复 3
  • Mr.Zhao
    Mr.Zhao
    06-09

    没有正确设置content-length, 就会412。 使用bytearraybody这个类,inputstreambody获取不到数据长度


    06-09
    有用
    回复
登录 后发表内容