@Caiobernardodasilva escreveu:
Estou tentando fazer um formulário que possui campos com texto , números e upload de imagem, porem não estou conseguindo atrelar o campo nome, numero ao campo imagem.
No caso eu preciso armazenar na base de dados o nome da pessoa, idade e o nome da foto, eu consigo fazer o upload das imagem mas não consigo resgatar o nome dela para armazenar junto aos dados da pessoa.
segue:<h:form> <h:panelGrid columns="2" cellpadding="5"> <p:outputLabel for="nome" value="Nome:" /> <p:inputText id="nome" value="#{pessoa.nome}"/> <p:outputLabel for="sobrenome" value="Sobrenome: " /> <p:inputText id="sobrenome" value="#{Pessoa.sobrenome}"/> <p:fileUpload fileUploadListener="#{fileView.upload}" cancelLabel="Cancelar" uploadLabel="Anexar" label="Selecionar" mode="advanced" dragDropSupport="false" invalidSizeMessage="Tamanho de imagem invalida !" invalidFileMessage="Arquivo invalido!" multiple="true" update="messages" sizeLimit="1000000" fileLimit="3" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> </h:panelGrid> <p:growl id="messages" showDetail="true" /> <h:commandButton action="resultado.xhtml" value="Submit"/> </h:form>
@ManagedBean @RequestScoped public class FileView { private UploadedFile file; public UploadedFile getFile() { return file; } public void setFile(UploadedFile file) { this.file = file; } public void upload(FileUploadEvent event) { file = event.getFile(); File file1; Random gerador = new Random(); if (file != null) { File arquivo = new File("C:\\temp", file.getFileName()); if (arquivo.exists()) { file1 = new File("C:\\temp", gerador.nextInt() + file.getFileName()); } else { file1 = new File("C:\\temp", file.getFileName()); } try { file1.getName(); FileOutputStream fos = new FileOutputStream(file1); fos.write(event.getFile().getContents()); fos.close(); FacesMessage message = new FacesMessage("Arquivo anexado com sucesso!", event.getFile().getFileName()); FacesContext.getCurrentInstance().addMessage(null, message); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } }
@ManagedBean public class Pessoa { String nome; String sobrenome; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getSobrenome() { return sobrenome; } public void setSobrenome(String sobrenome) { this.sobrenome = sobrenome; } }
Mensagens: 3
Participantes: 2