Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo Garbin

Formulário + Dados e Foto perfil

Recommended Posts

Buenas galera tudo bem?

 

Seguinte quero criar um formulário do "stilo" perfil usuário, até ai tudo bem.

Mas o negócio é o seguinte quero preencher os dados e por uma foto de perfil, sendo que a foto seja carregada imediatamente antes de clicar em enviar o formulário. (ajax/jquery). Porém minha dúvida é a seguinte, essa foto vai ser enviada e cadastrada assim que selecionada, mas se o usuário fechar o cadastro sem que os outros dados sejam enviados para o formulário como fica? a imagem fica gravada dentro da pasta de destino? como faço para apaga-la se o usuário não continuar o cadastro?

 

A principio o código que usuria para fazer esse trabalho com a foto seria através desse Ajax Image Upload

 

Valeuu, desde já agradeço a atenção de todos. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que você não usa o caminho temporário até saber se ele deu o submit?

 

ai se acontecer o submit você passa o caminho temporário para uma var.

 

Hummmmmmmmmmmmmmmmm.... bem pensado... nunca usei o caminho temporário pra deixar em "standby"...

 

Ai por onde eu começaria?pegaria o nome do arquivo + a pasta?

O nome do arquivo temp seria pelo atributo "['tmp_name']" mas e a pasta temp?( ou to ficando loco e não é nada disso? kkkkk)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na época que eu fiz isso, meados de 2007, era ainda com iframe. Nenhum navegador dava suporte à uploads em ajax. Entretanto, a lógica era a mesma. Eram realizados algumas "rotinas".

 

Quando o usuário realizava o upload de uma imagem, sem cadastro prévio, era inserido um cadastro com uma flag "temp" no banco de dados, e salvo normalmente a imagem. Quando o usuário realizava o cadastro em si, essa flag temp era desativa, indicando que o cadastro é válido.

 

Para evitar que os cadastros temp ficassem no BD, era realizada uma rotina para apagar os cadastros temp, mas somente os que possuíssem mais de um dia de cadastro.

 

Mas por que mais de um dia?

Imagine que a rotina seja feita todos os dias as 0:00 hs (meia-noite). Um usuário venha realizar o upload da imagem as 23:59 e finalize o cadastro as 00:01. O cadastro temp dele não existirá mais e vai dar "pau".

 

Caminho temporário também é valido, é simples mover as imagens de uma pasta temp. Mas você também precisará de uma rotina para apagar os arquivos temporários, para não ocupar espaço em disco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que você não usa o caminho temporário até saber se ele deu o submit?

 

ai se acontecer o submit você passa o caminho temporário para uma var.

 

Upload de imagens em AJAX eu nunca consegui cara...

O que eu fiz - semelhante a isso que você precisa - consegui utilizando o JQuery FIle Upload

PS. Uma boa dica é olhar nos comentários desse site, o autor Júnior ajuda bastante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a ideia do Gabriel é muito boa mais estou pensando no problema de performance.

 

como o seu cadastro é para atualizar e não terá etapas eu sugiro algo como

 

pega o arquivo temp que o usuário incluiu volta para o jquery e adiciona no elemento src o caminho.

 

até ai você só tem o caminho temp você pode até dar o unset nele depois que jogar no seu html.

 

e quando der o submit recupera o elemento src da imagem e verifica se tiver vazio significa que não tem imagens caso contrário tem e você pode atualizar a DB.

 

desculpa se falei alguma besteira eu nunca trabalhei com Ajax Image Upload, mais na minha cabeça essa ideia parece válida.

 

espero ter ajudado abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um exemplo que "fiz/modifiquei"

 

Só para vocês terem uma idéia

 

http://www.nibrag.com.br/ajaximage/

 

Porém esta sem os inputs para inserir dados. É apenas o upload de imagem, a principio a imagem vai direto para pasta que eu defini...

 

Ainda não me "clariou" as idéias aqui de como não deixar esse arquivo na pasta de upload caso o usuário não seguir o cadastro. Só se eu fazer o cadastro pro etapas.. 1ª Digitar todos os dados 2ª selecionar a foto. Eai ?

 

Eu queria tudo em um só form... mas se não deu... "PATIENCE - Guns N' Roses"

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu estava escutando essa música agora pouco, para minha solução funcionar você tem que deixar de utilizar o plugin e fazer você mesmo o upload.

Mas olha esse ai ta quase 100% só falta a questão de deletar as imagens caso o user não seguir com o cadastro... vou tentar bolar algo ae.. se alguém tiver algum outro pode disponibilizar ae ficarei mt grato! hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galeraa vocês são uns gênios! e estão me dando muitas idéias... Gabriel.. você foi fundamental.. flag's!

 

Olha só o inicio dos trabalhos...

 

Clique aqui

 

E eu voltarei quando estiver finalizado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É gratificante saber que, com a nossa ajuda, você conseguiu resolver o seu problema e agregar mais conhecimento. Tenha a certeza de que isso não será somente para você, mas para qualquer desenvolvedor que, em algum futuro, se deparar com o mesmo problema.

 

Parabéns. Sempre em frente aprendendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Resolvido (mais um) :grin:

 

Através das idéias e colaboração do pessoal aqui da Imasters(principalmente a do Gabriel a qual segui a idéia do mesmo) consegui desenvolver um script no qual atendeu ao projeto que estou desenvolvendo.

 

Então o script serve para cadastro de um perfil(imagem + dados do usuário), se o usuário enviar uma imagem e sair da página sem terminar o cadastro a mesma ficará por 15 minutos no servidor(esse tempo é para que o usuário possa cadastrar seus dados caso não feche a janela), quando alguém for se cadastrar ou atualizar a página, irá rodar um script o qual verificara se tem alguma imagem com data expirada e temporaria, a mesma será deletada caso esteja.

Se o usuário ir até o fim do cadastro a imagem será atualizada como não temporaria assim ficando no BD juntamente com o cadastro do usuário.

 

Se quiserem ver como ficou ou questionarem Clique aqui para acessar.

 

Caso alguém tenha alguma outra idéia para aprimorar será bem vinda.

 

Obrigado a todos. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não contabilizou uma inserção que eu fiz.

No site que tem como exemplo?

Várias causas podem ter resultado em uma falha, como o tempo de upload, o não carregamento por inteiro do arquivo no formulário, foi selecionado clicar na foto e logo em seguida cadastrar, etc....

 

Bom como disse anteriormente esse site deixei online como apenas mais um exemplo, pode ser fazer muitas modificações ao redor dele, quero ver ser possível mais para frente quando eu tiver um tempo vou aperfeiçoar o mesmo e deixar o código livre para implementações em outros projetos.

 

Valeu.. qualquer dúvida ou idéia de melhoria só postar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala Marcelo tudo beleza.

 

Amigo gostei desse script http://www.nibrag.com.br/ajaximage estava precisando para completar um trabalho

 

você poderia me disponibilizar, ficarei agradecido

 

se for possível gostaria de receber em meu e-mail

 

metrequiel@gmail.com

Buenas cara,

 

Estava meio sumido, não sei se lhe serve ainda, mas segue o link para download: http://www.nibrag.com.br/ajaximage.rar

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.