Как разместить байты изображений из javascript в веб-сервисе JAX-RS и создать BufferedImage из массива imageBytes? - PullRequest
0 голосов
/ 28 августа 2018

Я хотел бы отправить байты изображения из клиента Javascript в веб-сервис JAX-RS. Я попытался кодировать байты изображения с помощью функции Javascript btoa(), а на стороне сервера попытался создать BufferedImage, как

ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(imageBytes);
BufferedImage originalImage = ImageIO.read(arrayInputStream);

Однако originalImage становится равным нулю.

Не могли бы вы помочь мне.

Полный код:

Javascript:

function handleUpload(){
  var input = document.getElementById("imageUploadId");
  var file = input.files[0];
  file.convertToBase64(base64ImageData);
}

function base64ImageData(data){
  if(data){
    var imageBytes = data.split(",")[1];
    imageBytes =  btoa(imageBytes);
  }
}

Java - Jax-RS:

String ImageByteFromrequest ="";
byte[] imageBytes = Base64.decode(ImageByteFromrequest);
ByteArrayInputStream arrayInputStream = new ByteArrayInputStream(imageBytes);
BufferedImage originalImage = ImageIO.read(arrayInputStream);

Заранее спасибо.

...