Input type='file' - Como recuperar o caminho completo?

3 respostas
R

Como recuperar o caminho completo do input file?

Dei uma busca no forum e nao encontrei a solucao para esse pergunta
No topico que eu olhei o cara sugeriu fazer exatamento o que eu jah tentei fazer: criar um campo hidden e setar o valor desse campo por JAVASCRIPT

document.getElementById("hiddenPath").value = document.getElementById("inputFileId").value;

soh que essa implementacao soh funciona no Internet Explorer :cry:
no firefox o script soh me retorna o nome.extensao do arquivo

eu nao posso usar nenhum tipo de framework, porque a pagina foi feita em asp, mandando uma requisicao para uma action que eu fiz (to usando struts 2.0) … entao no formulario mesmo nao posso usar nenhum framework java … solucao no meu caso, pelo menos que eu pensei, foi usar JS

existe alguma forma de conseguir o valor completo desse campo? queria que a funcao funcionasse pelo menos para os 3 grandes browsers: Firefox. opera e Internet Explorer

[]'s

EDIT
colocando o carro a frente dos bois … depois que eu conseguir o endereco do arquivo na maquina do cliente, tem como eu fazer modificacoes no arquivo, dentro da maquina do cliente?

3 Respostas

_

O IE pra mim sempre mandou o caminho completo do arquivo, sempre tive que tratar a string pra pegar só o nome do arquivo… no FF nunca veio completo, acho que não tem como não…

E pelo browser você nao vai conseguir acesso aos arquivos da maquina do cliente, a nao ser por um applet assinado, e provavelmente o cliente receberá um aviso sobre isso.

F

Tenta o commons-fileupload da Apache.
Assim vc consegue muito mais do que o nome completo do arquivo.

R

No IE ele retorna o caminho completo.
Porém no FireFox não, por questões de segurança.
Mas esse problema pode ser resolvido com flash; o mesmo
pode resgatar o caminho completo e assim devolvê-lo ao
javascript.

Mas ai vem outro problema…
Como???

Não sei se este artigo ajuda em algo, mas de qualquer forma
tá ai: https://developer.mozilla.org/en/DOM/File

Criado 1 de julho de 2008
Ultima resposta 19 de out. de 2011
Respostas 3
Participantes 4