Pessoal estou com um grande problema, consigo fazer o upload de um arquivo .doc office xp/2000 mas quando faço o download o arquivo o Office/BrOffice não conseque identificar o Conjunto de Caracteres tipo utf-8 entre outras opções que aparece.
public static final Arq incluir(String fileParameterName,
HttpServletRequest request, Session webGovernanceDB)
throws SQLException {
RequestUploadWrapper requestUploadWrapper = (RequestUploadWrapper) request;
FileItem fileItem = requestUploadWrapper
.getFileParameter(fileParameterName);
String fileItemName = fileItem.getName();
if (ClassUtil.isNotEmpty(fileItemName)) {
Arq arq = new Arq();
arq.setBlobArq(new String(fileItem.get()));
arq.setDtHrInclArq(new Date());
arq.setMimeArq(fileItem.getContentType());
arq.setQtdByteArq(new Integer((int) fileItem.getSize()));
String[] fileItemNameSplit = fileItemName.replace('\\', '/').split(
"/");
arq.setNmArq(fileItemNameSplit[fileItemNameSplit.length - 1]);
arq.setTitArq(fileItemNameSplit[fileItemNameSplit.length - 1]);
if (arq.getQtdByteArq().equals(new Integer(0))){
return null;
}
webGovernanceDB.save(arq);
return arq;
}
return null;
}
public static final void download(Arq arq, HttpServletResponse response)
throws Exception {
response.setHeader("content-disposition", "attachment;filename="
+ arq.getNmArq());
response.setContentLength(arq.getQtdByteArq().intValue());
ServletOutputStream servletOutputStream = response.getOutputStream();
response.setContentType(arq.getMimeArq());
// servletOutputStream.write(arq.getMimeArq().getBytes());
servletOutputStream.write(arq.getBlobArq().getBytes());
servletOutputStream.flush();
servletOutputStream.close();
}