Salve ragazzi. Mi trovo di fronte a questo inghippo. In pratica ho un servizio rest in java che riceve il contenuto di un file in formato Base64, ed ho la necessità di scrivere questo contenuto in un file che creo io. Vi espongo un pò di codice.
Fin qui tutt'ok. Il file me lo crea e ci scrive pure il contenuto. L'unica cosa è che non posso aprirlo. Quando lo apro mi dice che non è stato decodificato correttamente.codice:@Path("/recivePdf") @Produces("application/pdf") public @ResponseBody String savePdfAccettazione( @RequestBody String contenuto){ //mi decodifico il contenuto in un array di byte byte[] contenutoFile = Base64.decodeBase64(contenuto); //scelgo e compongo il percorso del file percorsoPath += file + File.separator + risorsa+"_"+idAccettazione+".pdf"; FileOutputStream filePath; try { //lo scrivo in filePath. filePath = new FileOutputStream(percorsoPath); filePath.write(contenutoFile); filePath.flush(); filePath.close(); } catch (IOException e) { System.out.println("Errore nella creazione del file:" + e.getMessage()); } }
Vi elenco le dipendenze di maven che ho usato.
e le librerie usate per la decodifica sono org.apache.commons.codec.binary.Base64;codice:<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.4</version> </dependency>
Qualcuno può aiutarmi? Grazie in anticipo.
Vit