Link html para arquivo em computador cliente

Olá,
Estou com outro problema, n AW que eu estou desenvolvendo deve ser possível que o usuário cadastre no banco de dados um arquivo que será anexado ao relatório. Esta questão eu já resolvi. Mas preciso que ao abrir um relatório seja possível que ao clicar no link, correspondente ao arquivo, o navegador abra o arquivo para visualização. O arquivo fica armazenado no computador cliente. Por exemplo:

Neste caso preciso que ao clicar no link, o arquivo.pdf seja aberto, não necessariamente no navegador. Se alguém tiver alguma solução??

OBS: Tem que funcionar no IE, pois o meu cliente utiliza IE nos computadores da empresa dele.

otavio,

A sintaxe do está correta. Mas há o inconveniente de precisar obter , ou seja, o nome do usuário logado na rede MS-Windows para que seja possível montar a URL absoluta.

Talvez uma alternativa que dê menos trabalho seja, ao invés de disponibilizar esse arquivo nas máquinas dos usuários, disponibilizá-los num único local. Assim o link poderia ser disponibilizado aos usuários via Internet ou intranet.

Vantagens:
Isolando a sua página que disponibiliza recursos, fica mais fácil controlar acessos, atualizar conteúdos, criar logs de acesso, relatórios (…).

Quanto a isto a própria empresa tem uma unidade de rede mapeada em todos os computadores, como se fosse uma área compartilhada por todos. A ideia é os arquivos serem salvos nesta área. Mas a âncora não funciona do jeito que eu coloquei no post anterior.

isso nao vai funcionar por medidas de segurança. o correto eh vc dar um forward com o endereco do arquivo que ele abre no navegador.

Como é feito esse forward? Se for utilizando a tag , aqui não funcionou. Eu tentei colocar:

por medidas de segurança vc nao vai conseguir acesso aos dados do computador local. como vc disse que os arquivos sao localizados em um so lugar, provavelmente o servidor de aplicacao tem acesso a esses arquivos entao basta vc criar uma servlet que pega o arquivo e devolve para o navegador, tipo assim:

request.getRequestDispacher(“c:/arquivos/pdfs/meuarquivo.pdf”).forward(request, response);

entendeu???

Talvez o otavio não tenha conhecimentos sobre fundamentos OOP e arquitetura MVC (Servlet Controller, DAO, User Interface). Para resolver isso em Java seria necessário esses fundamentos e essa curva de aprendizagem é um pouco cruel com o programador iniciante… É framework e tecnologia que parecem permitir infinitas combinações…

mauricio, imagine que neste caso o otavio fosse iniciante em Java…
Além de dedicação do iniciante quais seriam boas dicas para alavancar conhecimentos em desenvolvimento Java de maneira a deixar o programador capaz de enfrentar os problemas do mundo real (por exemplo este aqui)?

  • Cursos? Assinaturas de revistas especializadas? Talvez um bom livro introdutório?

Só estava aqui pensando com meus botões como situações semelhantes à essa devem ocorrer todos os dias… Será que temos uma receita de bolo para indicar aos futuros Java programmers como dar o pontapé inicial?

Eu utilizo um framwork desenvolvido aqui na empresa que trabalho que corresponde ao padrão MVC. O eu já havia tentado um método parecido com o que o mauricio indicou, utilizando o response. O problema que eu tenho aqui é que o framework utiliza um evento gerado via javascript para fazer a comunicação com o servidor e com os webservices. O que acontece é que esse evento dispara uma barra de progresso do framework que é exibida para o usuário aguardar a resposta do webservice que realiza as consultas em banco etc. Quando é feito uma submissao de um formulário ou qualquer requisição este evento é chamado, e a barra desaparece depois que a requisição é concluída. Enquanto a barra de progresso estiver ativada, as funcionalidades do sistema ficam inativas para o usuário. O problema é que quando utilizo uma requisição ao servidor para fazer o download do arquivo, a barra de progresso permanece exibida na tela mesmo depois do download concluído, o que aparenta ser um bug do framework. Mas eu e minha equipe conseguimos criar uma solução parcial para este problema, transferindo a tarefa de requisição para um popup, com isso o evento é gerado na página do popup, e não na página principal do sistema. A tentativa em utilizar um HTML direto seria para que o download do arquivo não passasse por uma requisição ao servidor, e com isso não haveria um acionamento do evento. A solução que desenvolvemos não ficou muito “legal”, e futuramente tentaremos corrigir este bug diretamente no framework.

Pra dizer a verdade camachojr antes eu pensava nisso, qndo via alguma duvida em um codigo totalmente zuado eu dava dicas de como melhorar o codigo, onde aprender, coisa e tal. hoje em dia so respondo a duvida, prq cansei de bater na mesma tecla e falar para as pessoas estudarem antes de sair codificando, acho q essa receita de bolo nao existe.
eu mesmo fiz muito isso e confesso que ainda faço, so corre atras de aprender corretamente quando trava e nao sai do lugar hehehe

legal o seu pensamento, poderia criar uma discussão sobre isso.

abração!