[HTML] Chamando caixa de escolha de arquivo a partir de um link qualquer

Olá pessoal,

Precisava chamar o diálogo de escolher arquivo, para upload, em um link comum. Não posso usar o input type=“file”, por questões de padrão visual.

Alguma idéia? Fizeram uma gamb por aqui mas não rolou…

Valeu!

opa

cara, se tu tiveres um pouco de paciencia da uma olhada no gmail, quando voce vai criar um email, a opção de anexo eh nesse estilo que voce ta procurando, em forma de link…

mas nao vai ser muito facil descobrir, tenta usar o FF com a web developer toolbar e o firebug pra navegar nos fontes…

boa sorte :stuck_out_tongue:

Vê se isso te ajuda: http://www.quirksmode.org/dom/inputfile.html

bom dia,

nao sei se tu ja resolveu teu problema, mas assim, estava dando uma lida em algumas coisas que encontrei na internet e realmente a manipulacao do objeto de fileupload é muito limitada.

porém existem algumas solucoes para este problema, como tinha comentado anteriormente, se você acessar o gmail pelo internet explorer vai ver que ao inserir anexo em uma nova mensagem, o botão para upload é um link normal.

nao cheguei a tentar dar uma olhada nos fontes do gmail, mas achei algumas ideias interessantes no google para o teu problema.

o que você poderia fazer é criar um link normal e disparar uma funcao para criar dinamicamente os , atraves do método document.createElement(“input”), mas deixando estes inputs escondidos através da atributo CSS display: none;, e logo a baixo de tal link para upload, também dinamicamente, ir criando tags mostrando o caminho de cada file input escondido.

acredito que isto poderá funcionar sem maiores problemas, se tu entendeu minha ideia, tente implementar isto, qualquer coisa escreve aí, que na medida do possivel vou te ajudando…

:wink:

Se você precisa de apenas um campo para fazer o upload, basta deixá-lo escondido e ao clicar no link fazer com que ele apareça.

No caso do gmail eu acho que o campo é criado no momento em que se clica no link de anexo.

ok, utilizando o firefox sim, sem problemas, mas acredito que o que o carneiro está procurando, eh modificar o input para um link comum, no caso do gmail utilizando o IE, repare que não existe nenhum input do tipo file…

[quote=mrblack][quote=julianostr]
No caso do gmail eu acho que o campo é criado no momento em que se clica no link de anexo.
[/quote]

ok, utilizando o firefox sim, sem problemas, mas acredito que o que o carneiro está procurando, eh modificar o input para um link comum, no caso do gmail utilizando o IE, repare que não existe nenhum input do tipo file… [/quote]

Não se esqueça que gmail é, se não me engano, vou arriscar, é 100% tecnologia ajax. Você quase não ve nada de html ou javascript lá. Os caras são fera. É no estilo do Orkut, veja o código fonte e não tem quase nada lá.

Então dê uma pequena olhadinha nos arquivos .js e veja se nao tem mta coisa por lá… :twisted:

Mas então, é disso que eu to falando, dos .js que eles têm lá. Por isso que não tem aquele porrilhão de html e javascript nas páginas pois está tudo nos .js.

Só que eu ainda não baixei nenhum desses pra dar uma olhada, sacou?