Boa tarde. Pessoal estou com o seguinte problema. Tenho um aplicação web com struts, que quando vou anexar um arquivo em formato xls, simplesmente ele já chega balead. Para arquivos em txt é normal. Não gera exception
Segue o trecho onde acontece isso:
private void attachForm(FileUploadForm form, int attach){
FormFile file = null;
//Verifica qual file foi enviado
if(attach == 1)
file = form.getFile();
else
file = form.getFile2();
String dados = null;
try{
ByteArrayOutputStream out = new ByteArrayOutputStream();
InputStream stream = file.getInputStream();
//2 MB
if(file.getFileSize()< (4 * 1024000)){
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
out.write(buffer, 0, bytesRead);
}
dados = new String(out.toByteArray());
form.setStream(dados);
}else {
dados = new String("The file is greater than 4MB, and has not been written to stream. File Size: " + file.getFileSize() + " bytes. This is a limitation of this particular web application, hard-coded in org.apache.struts.webapp.upload.UploadAction");
form.setStream(dados);
}
stream.close();
this.recordFile(form, attach);
}
catch (FileNotFoundException fe) {
fe.printStackTrace();
} catch (IOException io) {
io.printStackTrace();
}
file.destroy();
}
Alguém tem alguma dica ?