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.
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());
}
}
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.
Vi elenco le dipendenze di maven che ho usato.
codice:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.4</version>
</dependency>
e le librerie usate per la decodifica sono org.apache.commons.codec.binary.Base64;
Qualcuno può aiutarmi? Grazie in anticipo.
Vit