Fazer upload com Ajax é possível. Eu também pensava que não.
December 7th, 2006. Published under rapidinhas. 7 Comments.
Todo o material que já consultei na internet a respeito de fazer upload com Ajax sempre diz a mesma coisa: fazer upload com Ajax não é possível. Mas, agora ao me deparar com afirmações do gênero posso falar: isto é mentira. Fazer upload com Ajax é possível sim.
Mas, apesar de ser possível há uma certa burocracia nesse processo.
Primeiro
Upload com Ajax só funciona em browsers, ou melhor, somente nos browsers da Mozilla (Firefox).
Segundo
Você precisará alterá uma configuração de segurança do browser, no caso do Firefox, através do about:config.
Terceiro
Este processo é recomendado para o uso em Intranets ou em soluções fechadas, uma vez que ninguém vai querer deixar seu navegador vulnerável para usar um recurso exclusivo do seu site.
Se você ficou curioso com essa possibilidade e quer realmente provar que é possível fazer upload com Ajax, leia o seguinte tutorial: AJAX FILE UPLOAD - Uploading local files with AJAX/Javascript to a server. Muito interessante.
7 Comments
leandro on December 11th, 2006
Cara,
Isto abre e não abre. Por que mesmo quando você possibilita ao Firefox fazer upload via JavaScript (alterando a configuração no about:config), ele ainda pergunta se tal site poderá ou não executar o upload.
De qualquer forma, o sistema fica vulnerável sim, como citei no post. Mas pra mim, o interessante foi saber que é possível fazer upload sim via JavaScript.
![]()
Ajax Online » Upload Assíncrono (iframe como AJAX) - 1 função simples on March 24th, 2007
[...] de arquivos para o JavaScript (se quiser descobrir como ativar esta característica não padrão, leia aqui, mas acredito não ser muito útil ajax upload dessa [...]
Guilherme on June 25th, 2007
Cuidado ae galera, vocês estão deixando o conceito de AJAX se perder. Vamos lá:
“O Asynchronous Javascript And XML é uma metodologia para fazer requisições ao servidor sem a necessidade de recarregar novamente a página.”
(fonte: http://www.oficinadanet.com.br/index.php?acao=colunas_show&id=224)
Ok, mas é isto que o código faz. Será? Vamos analisar o seguinte, sem permissão do navegador do usuário a ação acontece, se for assim então, milhões de outras que sabemos que também dependem desta permissão ou só funcionam em intranets deveriam ser consideradas bem sucedidas, funcionais, e não é o caso, não conta.
Então vamos usar iframes, ok? Aí fica legal, pois assim a página que é recarregada é outra, uma secundária, oculta ou com o tamanho apenas da imagem que será exibida instantaneamente (opcional p/ upload de imagens). Opá!!! Eu disse recarregada?? Certo, ou seja: não é AJAX!
Precisam levar em consideração que este nome foi dado à uma determinada metodologia com determinadas características, se não é a mesma metodologia, é outro nome.
Longe de mim desmerecer o código, pelo contrário, ele é muito bom, mas é uma maneira de manter a acessibilidade rápida da página, ele emula um AJAX. Certo?
Abraço a todos!
Paulo Rebelo on July 10th, 2007
Viva
Encontrei outra forma. Aqui vai o link: http://www.phpletter.com/Our-Projects/AjaxFileUpload/
Micox on July 10th, 2007
Esse aí também não é ajax Paulo. É uso inteligente do iframe apenas, assim como minha função para upload assíncrono.
Esse plugin aí é grande e complicado, mas talvez seja bomzão. heheh
Paulo Rebelo on July 10th, 2007
Eu não tenho muita experiência em Ajax, mas usei aquele exemplo que falei e foi facil de implementar.
Micox on December 10th, 2006
Perae brodi Leandro,
Mas isto ae abre uma brexa de segurança gigantesca dentro da corporação se os computadores tiverem acesso à internet.
O que acha?