Bom dia galera!
Estou fazendo upload com Spring MVC, só que eu quero evoluir um pouco, ao invés de upar imagem num diretório e salvar o caminho no bd eu quero salvar o binário dela no bd.
Como eu disse, consegui implementar o upload (achei bem simples ^^), quanto aos métodos e DAO do BD também sem problemas.
Minha dúvida mesmo é só de como armazenar o binário numa variável pra passar por PostgreSql e recuperar esta imagem depois.
Eu ví nas documentações que o método multipartFile.getInputStream() pega o conteúdo da imagem, esse conteúdo é o binário?
Dei um Sysout nele pra debugar mas a impressão saiu como de um obejto: (java.io.FileInputStream@1197971)
Outra coisa, o processo pra imagens e pequenos vídeos é o mesmo? (este exemplo eu fiz com vídeos)
Seguem os trechos das classes que estou utilizando:
Model: VideoUpload.java
public class VideoUpload {
private MultipartFile arquivo;
private int idVideo;
private String nomeVideo;
//Getters e Setters
public MultipartFile getFiles() {
return arquivo;
}
public void setFiles(MultipartFile files) {
this.arquivo = files;
}
public MultipartFile getArquivos() {
return arquivo;
}
public void setArquivos(MultipartFile arquivo) {
this.arquivo = arquivo;
}
//demais getters e setters....
}
VideoController.java
[code]@RequestMapping(value = “/video/savefiles”, method = RequestMethod.POST)
public String uploadVideo(VideoUpload fileUpload,HttpServletRequest request) throws IllegalStateException, IOException {
//String saveDirectory = "c:/crunchify/";
String saveDirectory = request.getSession().getServletContext().getRealPath("")+"/media/";//Salva no diretório do projeto
MultipartFile arquivos = fileUpload.getFiles();
System.out.println(arquivos.getSize());
if (null != arquivos && arquivos.getSize() > 0) {
String fileName = arquivos.getOriginalFilename();
if (!"".equalsIgnoreCase(fileName)) {
// Pega o conteúdo do arquivo - multipartFile.getInputStream()
arquivos.transferTo(new File(saveDirectory + fileName));
System.out.println(fileName);//AQUI IMPRIME O NOME DO ARQUIVO, VOU IMPLEMENTAR OS RECURSOS DE BD
}
}
return "/video";
}
[/code]
Fico no aguardo.
Abraços!