Ho un servlet che ha ridimensionato e codificato un'immagine in base64. Mi codificare come questoDecodifica problema di ritorno a capo Base64 da Java e invio al browser
BufferedImage newBuf = .. a bufferedImage...
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, sImgFormat, baos);
baos.flush();
imageInBytes = baos.toByteArray();
Ho poi codificare questo in Base64 per inviare al browser come questo
sun.misc.BASE64Encoder encoder = new BASE64Encoder();
String sEncImage = "data:image/jpg;base64," + encoder.encodeBuffer(imageInBytes);
Il browser riceverà la codifica e funziona tranne che per i ritorni a capo, ("\ n ") incorporato in modo coerente all'interno della stringa che corrompe l'immagine. Quando rimuovo il carrello, l'immagine è a posto. C'è un modo per generare la codifica senza i ritorni a capo. O devo filtrarlo io stesso prima di rispedirlo?
(sto usando J2SE 1.4.2 e la necessità di continuare a farlo)
Perché non inviare flussi di byte? – Alanmars
Devo inviare il testo base64 al browser. HTML5 all'altra estremità – giulio
\ n non è un carattere di ritorno a capo, è un avanzamento di riga. \ r è il ritorno a capo. https://stackoverflow.com/questions/3091524/what-are-carriage-return-linefeed-and-form-feed – Achille