[quote=utluiz]Oi ulysses,
Primeiro peço que não se ofenda caso já saiba de tudo q vou falar, mas já vi várias pessoas com esse tipo de confusão algumas vezes.
Isso que você está fazendo (ler o caminho de um arquivo enviado por upload) só funcionaria se o cliente (internet explorer) e servidor estivessem na mesma máquina.
Normalmente o servidor não conseguirá acessar o arquivo original, a não ser o stream recebido pelo upload. Isso que você está tentando fazer, a não ser que seja uma necessidade bem específica, está conceitualmente errado.
O correto seria ler o stream recebido. O caminho/nome do arquivo pode ser armazenado para usar como uma descrição ou para um futuro download do arquivo, mas não é uma boa ideia confiar nessa informação.
Enfim, o upload não foi feito para ler o arquivo direto do local original.
Além disso, tome cuidado pois somente o Internet Explorer envia o caminho completo do arquivo em uploads.
E pior, o IE envia errado, pois já fiz uma funcionalidade de uploads usando JAX-RS e o caminho que chegava no HEADER do upload era “c:\pasta\arquivo”, porém segundo a especificação do HTTP o HEADER HTTP deveria ter barras duplas, ou seja, um escape. Nesse caso, o Jersey (implementação do JAX-RS) retornava “c:pastaarquivo” como nome do arquivo. Resolvi o problema fazendo um parse do HEADER e recuperando o caminho manualmente. Na ocasião, eu somente armazenava o nome do arquivo como referência para quem enviou, ou seja, como um título default.
Talvez seja esse o seu problema também.[/quote]
Realmente é isso mesmo cara,
eu fui analisar direitinho, passei um monte de vez no debug,
o arquivo que eu informo no upload esta no caminho C:/pasta/arquivo.txt;
mas só que o a String esta referenciando no servidor D:\desenv\eclipse\arquivo.txt
por isso que não esta achando o arquivo, qual poderia ser uma solução para esse caso, existe algum jeito deu pegar o caminho exato mesmo o servidor estando em outra maquina?