Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

JSF + Formulário + Upload

$
0
0

@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

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>