fixes bug#24769

dev:fabio
qua:

Usado o metodo getDataStrem do objeto Media para recuperar os dados do arquivo, em vez do getByteData

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@113333 d1611594-4594-4d17-8e1d-87c2c4800839
master
walace 2022-07-13 17:47:44 +00:00
parent 7c926b2cd0
commit d67f0c38ce
1 changed files with 15 additions and 3 deletions

View File

@ -1,6 +1,8 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.remessa; package com.rjconsultores.ventaboletos.web.gui.controladores.remessa;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.ArrayList; import java.util.ArrayList;
@ -57,9 +59,9 @@ public class ImportarRetornoBancarioController extends MyGenericForwardComposer
Media media = event.getMedia(); Media media = event.getMedia();
if(media.getName().toLowerCase().endsWith(".ret")){ if(media.getName().toLowerCase().endsWith(".ret")){
Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue();
ByteArrayInputStream bais = new ByteArrayInputStream( media.getByteData()) ; Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue();
resultado = importacaoRetornoBancarioService.lerArquivo(bais, empresa); resultado = importacaoRetornoBancarioService.lerArquivo(converterByteArrayInputStream(media.getStreamData()), empresa);
}else{ }else{
Messagebox.show(Labels.getLabel("relatorioRetornoBancario.MSG.extensaoInvalida"), Messagebox.show(Labels.getLabel("relatorioRetornoBancario.MSG.extensaoInvalida"),
Labels.getLabel("importarRetornoBancarioController.window.title"), Labels.getLabel("importarRetornoBancarioController.window.title"),
@ -97,6 +99,16 @@ public class ImportarRetornoBancarioController extends MyGenericForwardComposer
} }
private ByteArrayInputStream converterByteArrayInputStream(InputStream in) throws IOException {
byte[] buff = new byte[8000];
int bytesRead = 0;
ByteArrayOutputStream bao = new ByteArrayOutputStream();
while ((bytesRead = in.read(buff)) != -1) {
bao.write(buff, 0, bytesRead);
}
return new ByteArrayInputStream(bao.toByteArray());
}
public List<Empresa> getLsEmpresa() { public List<Empresa> getLsEmpresa() {
return lsEmpresa; return lsEmpresa;
} }