Como posso criar link de download em HTML?

Tenho uma ideia básica de HTML. Eu quero criar o link de download em meu site de amostra, mas eu não tenho idéia de como criá-lo. Como faço um link para baixar um arquivo em vez de visitá-lo?

 183
Author: Tot Zam, 2010-05-08

10 answers

Esta resposta está ultrapassada. Agora temos o atributo download como descrito aqui .

Se por "a ligação de download" se refere a uma ligação para um ficheiro a transferir, use

  <a href="http://example.com/files/myfile.pdf" target="_blank">Download</a>

O target=_blank fará aparecer uma nova janela do navegador antes do início da transferência. Essa janela geralmente será fechada quando o navegador descobre que o recurso é um download de arquivo.

Note-se que os tipos de ficheiros conhecidos pelo navegador (por exemplo, imagens JPG ou GIF) serão normalmente abertos dentro do navegador.

Pode tentar enviar os cabeçalhos certos para forçar um download como descrito por exemplo Aqui. (scripting do lado do servidor ou acesso à configuração do servidor é necessário para isso.)

 130
Author: Pekka 웃, 2017-05-23 12:10:44

Em navegadores modernos que suportam o HTML5, é possível o seguinte:

<a href="link/to/your/download/file" download>Download link</a>

Também pode usar isto:

<a href="link/to/your/download/file" download="filename">Download link</a>

Isto permitir-lhe-á alterar o nome do ficheiro que está a ser transferido.

 377
Author: Felix G., 2016-03-24 12:40:20

Além (ou em substituição) do atributo HTML5 <a download já mencionado,
o comportamento de download do navegador para o disco também pode ser despoletado pelo seguinte cabeçalho de resposta http:

Content-Disposition: attachment; filename=ProposedFileName.txt;
Este era o modo de fazer antes do HTML5 (e ainda funciona com navegadores que suportam o HTML5).
 19
Author: Myobis, 2014-07-11 09:45:25

Um link de download seria um link para o recurso que deseja transferir. É construído da mesma forma que qualquer outra ligação seria:

<a href="path to resource.name of file">Link</a>

<a href="files/installer.exe">Link to installer</a>
 9
Author: Oded, 2010-05-08 10:50:55

Para ligar ao ficheiro, faça o mesmo que qualquer outra ligação de Página:

<a href="...">link text</a>

Para forçar as coisas a baixar mesmo que tenham um plugin incorporado (Windows + QuickTime = ugh), você pode usar isto no seu htaccess / apache2.conf:

AddType application/octet-stream EXTENSION
 8
Author: Delan Azabani, 2010-05-08 10:53:42
Este tópico já deve ser antigo, mas funciona em html5 para o meu ficheiro local.

Para pdfs:

<p><a href="file:///........example.pdf" download target="_blank">test pdf</a></p>

Isto deve abrir o pdf numa nova janela e permitir-lhe baixá-lo (pelo menos no firefox). Para qualquer outro arquivo, basta torná-lo o nome do arquivo. Para imagens e música, você gostaria de armazená-los no mesmo diretório que o seu site embora. Então seria como

<p><a href="images/logo2.png" download>test pdf</a></p>
 3
Author: johan, 2015-09-04 02:26:33

O atributo download é novo para a marca <a> em HTML5

<a href="http://www.odin.com/form.pdf" download>Download Form</a>
ou
<a href="http://www.odin.com/form.pdf" download="Form">Download Form</a>

Prefiro o primeiro que é preferível em relação a qualquer extensão.

 0
Author: Odin, 2015-11-03 23:39:09

O atributo download não funciona no IE, ignora o "download" completamente. O download não funciona no Firefox se o href apontar para um site remoto. Então o exemplo de Odin não funciona no Firefox 41.0.2.

 0
Author: Bill Coffin, 2015-11-04 23:05:50

Assim

<a href="www.yoursite.com/theThingYouWantToDownload">Link name</a>
Então, um nome de ficheiro.jpg num site example.com ficaria assim.
<a href="www.example.com/name.jpg">Image</a>
 -3
Author: Con, 2010-05-08 10:53:10
Eu sei que estou atrasado, mas isto é o que tenho depois de uma hora de busca.
 <?php 
      $file = 'file.pdf';

    if (! file) {
        die('file not found'); //Or do something 
    } else {
       if(isset($_GET['file'])){  
        // Set headers
        header("Cache-Control: public");
        header("Content-Description: File Transfer");
        header("Content-Disposition: attachment; filename=$file");
        header("Content-Type: application/zip");
        header("Content-Transfer-Encoding: binary");
        // Read the file from disk
        readfile($file); }
    }

    ?>

E para ligação descarregável fiz isto

<a href="index.php?file=file.pdf">Download PDF</a>
 -3
Author: Sikander, 2016-03-06 11:47:17