Я хотел бы отправить байты изображения из клиента 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);
Заранее спасибо.