Potrebbe trattarsi di un duplicato, ma sto affrontando qualche problema per convertire l'immagine in Base64
per inviarlo per Http Post
. Ho provato questo codice ma mi ha dato una stringa codificata errata.Come convertire un'immagine in stringa base64 in java?
public static void main(String[] args) {
File f = new File("C:/Users/SETU BASAK/Desktop/a.jpg");
String encodstring = encodeFileToBase64Binary(f);
System.out.println(encodstring);
}
private static String encodeFileToBase64Binary(File file){
String encodedfile = null;
try {
FileInputStream fileInputStreamReader = new FileInputStream(file);
byte[] bytes = new byte[(int)file.length()];
fileInputStreamReader.read(bytes);
encodedfile = Base64.encodeBase64(bytes).toString();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return encodedfile;
}
uscita: [B @ 677327b6
Ma mi sono convertito questa stessa immagine in Base64
in molti codificatori on-line e tutti dato la stringa corretta grande Base64.
Modifica: Come è un duplicato ?? Il link che è mio duplicato non mi dà la soluzione per convertire la stringa in quello che volevo.
Cosa mi manca qui ??
Come state determinanti che questa sia la base 64 stringa non corretta? –
come encoder online stanno restituendo grandi stringhe di base64 –
Puoi fornire il codice per il metodo POST? Sono nello stesso problema (pubblica un'immagine ...) Grazie !! – Yekatandilburg