pom.xml
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
Angular, método de salvar
getSalvar(arquivo : Arquivo, selectedFile: File) {
let arquivoImportar = JSON.stringify(
{
'files' : selectedFile,
'idEntidade' : arquivo.entidade,
'idEmpresa' : arquivo.empresa
}
);
return this.http.post(this.userUrl + "/salvar", arquivoImportar, this.options)
.map((response: Response) => {
console.log("Salvar arquivos importados " + response.status);
return response.json();
}).catch((error:any) =>
Observable.throw(error.json().error || 'Erro em salvar arquivos importados ' + console.log(this.options))
);
}
Método Java
@RestController
@RequestMapping(value = "/admin")
public class ArquivoImportadoController {
@CrossOrigin(origins = "*")
@PostMapping(value = "/arquivoImportadoRecurso/salvar", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public RetornoJackson gravarBanco(
@RequestParam("files") MultipartFile files,
@RequestParam("idEntidade") Long idEntidade,
@RequestParam("idEmpresa") Long idEmpresa) {
RetornoJackson retorno = new RetornoJackson();
ArquivoImportadoEntity arquivoImportacao = new ArquivoImportadoEntity();
try {
ArquivosEntity arquivo = new ArquivosEntity();
ArquivoArquivoEntity arquivoArquivo = new ArquivoArquivoEntity();
arquivo(files, arquivo);
arquivoImportacao(files, idEntidade, idEmpresa, arquivoImportacao,
arquivoArquivo);
arquivoArquivo(arquivoImportacao, arquivo, arquivoArquivo);
arquivoImportadoServico.validarCampos(arquivoImportacao);
Set<ArquivoArquivoEntity> arquivosArquivos = new LinkedHashSet<ArquivoArquivoEntity>();
arquivosArquivos.add(arquivoArquivo);
arquivo.setArquivosArquivos(arquivosArquivos);
arquivoImportacao.setArquivosArquivos(arquivosArquivos);
arquivoImportadoServico.salvar(arquivoImportacao);
retorno.setTipo(TipoRetornoMensagemEnum.SUCESSO);
retorno.setMensagem(Constantes.SALVA_SUCESSO);
} catch (RegraNegocioException e) {
logger.error(Constantes.erroSalvar(arquivoImportacao.getClass()
.getName()), e);
retorno.setTipo(TipoRetornoMensagemEnum.ERRO);
retorno.setMensagem(e.getMessage());
} catch (Exception e) {
logger.error(Constantes.erroSalvar(arquivoImportacao.getClass()
.getName()), e);
retorno.setTipo(TipoRetornoMensagemEnum.ERRO);
retorno.setMensagem(e.getMessage());
}
return retorno;
}
}
Erro no console do navegador.
https://gist.github.com/guilhermecostalopes/6fff67248fd8ac611fc12a54f9969537
Conforme imagem 1, entendo que o arquivo está chegando no método de salvar.
Imagem 1
Conforme imagem 2, o files não está sendo preenchido para enviar para o servidor.
Imagem 2
Estou achando estraho isto está ocorrendo, pois pelo que entendi, antes de enviar para o servidor, o files está vazio.
O que pode ser ?