J'ai reçu ce message d'erreur lorsque je suis en train de télécharger le fichier:UT010006: Impossible d'appeler getWriter(), getOutputStream() déjà appelé
ne pouvait pas gérer exception !: java.lang.IllegalStateException: UT010006: Impossible appelez getWriter(), getOutputStream() déjà appelé.
Le fichier est téléchargé mais sans extension. Alors le navigateur me demande quel programme devrait être utilisé pour le lire.
Ceci est mon code de téléchargement:
InputStream fileIs = null;
OutputStream output = null;
try {
ExternalContext externalContext = getContext().getExternalContext();
externalContext.responseReset();
externalContext.setResponseContentType(fileToDownload.getMetadata().getMimeType());
externalContext.setResponseContentLength(fileToDownload.getMetadata().getTaille().intValue());
externalContext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + fileToDownload.getMetadata().getFileName() + "\"");
output = externalContext.getResponseOutputStream();
Response repGetFile = ClientBuilder.newClient()
.target(fileToDownload.getMetadata().getFileURL())
.request().header("Authorization", "Bearer bearercode")
.get();
fileIs = repGetFile.readEntity(InputStream.class);
int readBytes;
byte[] buffer = new byte[1024];
while((readBytes = fileIs.read(buffer)) > 0){
output.write(buffer, 0, readBytes);
}
output.flush();
} catch (IOException ex) {
LOG.log(Level.SEVERE, null, ex);
} finally{
try {
fileIs.close();
output.close();
} catch (IOException ex) {
LOG.log(Level.INFO, null, ex);
}
}