Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Poo, eu to tentando usar este plugin do jquery, uploadfy (http://www.uploadify.com) e tá me dando muito trabalho, uma hora funciona e outra não.
O lance é que minha aplicação não é tão simples assim.
Veja, obviamente, eu inicio o uploadfy em um input field do tipo file... mas eu quero que o nome do arquivo saia com o nome do serviço que está sendo cadastrado. Então eu tenho que atualizar a informação posteriormente. Ainda por cima, eu precisava que o upload fosse efetuado dentro de uma função que é chamada após o cadastro desse serviço (via AJAX), ao clicar no botão de submit do formulário.
Exemplo:
Nome do serviço: Posto Texaco
O nome da foto deverá ficar: posto-texaco.jpg
Para isso, fiz o seguinte:
// Update settings of uploadfy
$("#nome").blur(function() {
if ($(this).val() == "") {
verifyReqs();
return null; // return null if nome value is empty
}
var sNome = $('#nome').val();
// replaces & (commercial and) for e, because these characters are invalid in files
sNome = sNome.replace(/&/, "e");
// Setup configs to upload
$("#logoserv").uploadifySettings('scriptData', {
nome: sNome,
tipo: 'logo',
ajax: true
});
$("#foto").uploadifySettings('scriptData', {
nome: sNome,
tipo: 'foto',
ajax: true
});
verifyReqs();
});
Bom, esqueci até de falar que são dois uploads... mas acho que não é esse o problema... e esse verifyReqs é uma função que verifica se os dados estão válidos... para uma outra coisa do script...
Bom, acho mto dificil alguem me ajudar quanto ao meu problema... mas se alguem me recomendar um outro script/plugin alternativo para fazer esse mesmo trabalho... eu agradeço =)
Abraços
>
Oque você precisa então, é fazer o upload do arquivo de forma assincrona?
o swfupload é muito bom, e ainda permite multiplos uploads.
Mas tá.. além disso, o arquivo deve ser salvo com o nome do registro que você está adicionando ??
Isso não tem lógica.. mesmo que você pegue o value do campo, e faça o upload, o upload vai ocorrer antes do cara fazer o envio do form. E então, se ele mudar o nome lá, você teria que renomear o arquivo... mais fácil então, logo de vez, fazer o envio qndo ele submter o form!
Obrigado pela sugestão William, vou tentar usar o swfupload...
E tem lógica sim, esqueci de falar que o cadastro é via AJAX. Todos os dados do formulário são enviados via AJAX e por isso tive que apelar para um upload de arquivo assíncrono.
Como você mesmo viu nesse código que passei, cada vez que o cara muda o nome, ele já atualiza o nome que vai ser dado ao arquivo... e quanto a futuras alterações do cadastro, já está previsto que é impossível o cara mudar muito o nome, ele pode mudar uma coisinha ou outra, mas mesmo que o cara altere o nome... o nome do arquivo vai permanecer o cadastrado inicialmente.
O grande problema aí é que, o uploadfy tem algumas falhas ainda, não consegui trabalhar com ele como eu queria, e também ele não tem uma forma prática para debugar =/
Abraços,
agradeço a atenção e espero mais ajudas e sugestões se possível ^^
Oque você precisa então, é fazer o upload do arquivo de forma assincrona?
http://swfupload.org/
o swfupload é muito bom, e ainda permite multiplos uploads.
Mas tá.. além disso, o arquivo deve ser salvo com o nome do registro que você está adicionando ??
Isso não tem lógica.. mesmo que você pegue o value do campo, e faça o upload, o upload vai ocorrer antes do cara fazer o envio do form. E então, se ele mudar o nome lá, você teria que renomear o arquivo... mais fácil então, logo de vez, fazer o envio qndo ele submter o form!