Eu gero links normais como: <a href="https://stackoverflow.com/path/to/image"><img src="/path/to/image" /></a>
em um aplicativo da web.
Quando clico no link, ele exibe a imagem em uma nova página. Se você deseja salvar a imagem, clique com o botão direito do mouse nela e selecione "Salvar como"
Eu não quero esse comportamento, gostaria de ter uma caixa de download aparecendo quando clico no link, isso é possível apenas com html ou javascript? Quão?
Se não, acho que teria que escrever um script download.php e chamá-lo no href com o nome do arquivo como parâmetro ...?
Respostas:
Ainda não é totalmente suportado http://caniuse.com/#feat=download , mas você pode usar o modernizr https://modernizr.com/download/?adownload-setclasses ( em Detecções não essenciais ) para verificar o suporte de o navegador.
fonte
download
atributo attributete funciona apenas para URLs da mesma origem . MDN DocsA maneira mais fácil de criar um link de download para imagem ou html é definir o atributo de download , mas esta solução funciona apenas em navegadores modernos.
"myimage" é um nome de arquivo para download. A extensão será adicionada automaticamente Exemplo aqui
fonte
download.php:
fonte
<a href="download.php?file=../dbparams.inc>">Download</a>
por exemplo. Mais informações aqui: en.wikipedia.org/wiki/Directory_traversal_attackNão é não. Você precisará de algo no servidor para enviar um cabeçalho Disposição de Conteúdo para definir o arquivo como um anexo, em vez de estar embutido. Você pode fazer isso com a configuração simples do Apache.
Eu encontrei um exemplo de fazê-lo usando mod_rewrite , embora eu saiba que existe uma maneira mais simples.
fonte
Se você estiver usando HTML5, poderá adicionar o atributo 'download' aos seus links.
http://www.w3schools.com/tags/att_a_download.asp
fonte
Tente isso ...
fonte
Atributo de download HTML para especificar que o destino será baixado quando um usuário clicar no hiperlink.
Este atributo é usado apenas se o atributo href estiver definido.
O valor do atributo será o nome do arquivo baixado. Não há restrições quanto aos valores permitidos, e o navegador detectará automaticamente a extensão de arquivo correta e a adicionará ao arquivo (.img, .pdf, .txt, .html, etc.).
Código de exemplo:
HTML5:
Saída :
Faça o download da imagem >>
Download ou cromo em HTML5
Faça o download da imagem >>
fonte
Você não pode fazê-lo com puro html / javascript. Isso ocorre porque você tem uma conexão separada com o servidor da web para recuperar um arquivo separado (a imagem) e um servidor da web normal servirá o arquivo com os cabeçalhos de conteúdo definidos, para que o navegador que lê o tipo de conteúdo decida que o tipo pode ser tratado internamente.
A maneira de forçar o navegador a não manipular o arquivo internamente é alterar os cabeçalhos (disposição do conteúdo preferencialmente ou tipo de conteúdo) para que o navegador não tente manipular o arquivo internamente. Você pode fazer isso escrevendo um script no servidor da web que define dinamicamente os cabeçalhos (por exemplo, download.php) ou configurando o servidor da web para retornar cabeçalhos diferentes para o arquivo que você deseja baixar. Você pode fazer isso por diretório no servidor da web, o que permitiria fugir sem escrever nenhum php ou javascript - basta ter todas as imagens de download nesse local.
fonte
Código simples para download de imagem com um clique de imagem usando php
fonte
Download da imagem usando o clique da imagem!
Eu fiz esse código simples! :)
fonte