Ответ Adobe API для выреза/маски

#png #adobe #libpng

Вопрос:

Я пытаюсь использовать вырез/маску Adobe API. В соответствии с документом я создал GET и PUT. Согласно документу, я также сгенерировал необходимый токен доступа. Для операции PUT я использую свой собственный Java-сервлет с методом PUT. Когда я пытаюсь запустить свой скрипт, операция adobe API GET выполняется успешно. Мой метод doPUT вызывается Adobe API. Я могу создать входной поток. Однако, когда я сохраняю поток вменения в виде файла png, он находится не в правильном формате

Кажется, при попытке сохранить входной поток я должен отфильтровать несколько байтов. Как определить байты, которые необходимо сохранить для выреза или маски. В информации ЗАГОЛОВКА нет ничего, что я мог бы использовать, Есть ли какие-либо байты, которые я могу использовать для проверки начала и конца содержимого файла PNG. Я попытался найти «IEND» 4 байта. Тем не менее, все равно это поврежденный файл

 ServletInputStream fis=req.getInputStream();   byte b[]=new byte[4];  int data=fis.read(b);   boolean fosstream = true;  while(data !=-1)  {      if(fosstream)  byteArrayOutputStream.write(b);  String string = new String(b, StandardCharsets.UTF_8);   if(string.equalsIgnoreCase("IEND")) {  fosstream = false;  data=fis.read(b);  byteArrayOutputStream.write(b);  }    data=fis.read(b);      }    byte[] bytesRead = byteArrayOutputStream.toByteArray();    fos.write(bytesRead);  fos.flush();  fis.close();