O componente File Upload do HTML não serve para enviar o caminho do arquivo, mas sim o seu conteúdo.
Embora o Internet Explorer, e somente ele, envie o caminho completo do arquivo no cabeçalho da requisição HTTP, ele também envia todo o conteúdo.
Se você quer fazer simplesmente uma cópia de arquivo no servidor, troque o type=“file” para type=“text” para criar um campo texto simples e digite ali o caminho completo do arquivo.
O inconveniente é que assim você perde a facilidade de selecionar o arquivo através de uma caixa de diálogo, mas aí, dependendo do seu caso, dá pensar em formas de facilitar a seleção do arquivo.
A
alanmartins
Boa tarde Luiz,
Não daria certo pegando o path, pois a aplicação roda no servidor, então não reconheceria a pasta do usuário /Users/edsonmartins/Documents/…
Preciso mesmo é copiar o arquivo. Sabe me dizer como recebo este arquivo no Servlet?
Eu recebendo ele era só eu copiar para onde eu quisesse. Dá forma que eu fiz eu apenas pego o nome do arquivo.
Obrigado,
Edson
U
utluiz
Certo, então o que você quer é o upload de arquivos tradicional mesmo, o que não inclui olhar o diretório do usuário, afinal nenhum site na internet consegue acessar seu PC, mas é o seu navegador que envia o arquivo.
Entendido isso, sugiro usar um componente especificamente para isso ao invés da API servlet pura. No caso, posso indicar o componente do apache: