Как я могу создать ссылку для загрузки в HTML?


У меня есть основная идея HTML. Я хочу создать ссылку для загрузки на моем примере веб-сайта, но у меня нет идеи о том, как ее создать. Как сделать ссылку, чтобы загрузить файл, а не посетить его?

10 183

10 ответов:

этот ответ устарел. Теперь у нас есть как рассказали здесь.

если под "ссылкой для загрузки" вы подразумеваете ссылку на файл для загрузки, используйте

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

the target=_blank перед началом загрузки появится новое окно браузера. Это окно обычно закрывается, когда браузер обнаруживает, что ресурс является скачать файл.

обратите внимание, что типы файлов, известные браузеру (например, JPG или GIF изображения), как правило, будут открыты в браузере.

вы можете попробовать отправить правильные заголовки, чтобы заставить загрузку, как описано, например,здесь. (для этого требуется сценарий на стороне сервера или доступ к настройкам сервера.)

в современных браузерах, поддерживающих HTML5, возможно следующее:

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

вы также можете использовать это:

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

Это позволит вам изменить имя файла на самом деле загружается.

в дополнение (или в замене) к HTML5-х <a download атрибут уже упоминалось,
браузер скачать на диск поведение также может быть вызвано следующим заголовком ответа http:

Content-Disposition: attachment; filename=ProposedFileName.txt;

Это был способ сделать до HTML5 (и до сих пор работает с браузерами, поддерживающими HTML5).

ссылка для загрузки будет ссылка на ресурс, который вы хотите скачать. Он построен таким же образом, что и любая другая ссылка:

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

<a href="files/installer.exe">Link to installer</a>

чтобы перейти по ссылке на файл, сделайте то же самое, что и любая другая ссылка на страницу:

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

чтобы заставить вещи загружаться, даже если у них есть встроенный плагин (Windows + QuickTime = ugh), вы можете использовать это в своем htaccess / apache2.conf:

AddType application/octet-stream EXTENSION

этот поток, вероятно, древний к настоящему времени, но это работает в html5 для моего локального файла.

для PDF-файлов:

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

это должно открыть pdf в новом окне и позволить вам загрузить его (по крайней мере, в firefox). Для любого другого файла, просто сделайте его именем файла. Для изображений и музыки вы хотели бы хранить их в том же каталоге, что и ваш сайт. Так что это было бы как

<p><a href="images/logo2.png" download>test pdf</a></p>

атрибут загрузки является новым для <a> тег в HTML5

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

Я предпочитаю первый, он предпочтительнее в отношении любого расширения.

атрибут загрузки не работает в IE, он полностью игнорирует "загрузку". Загрузка не работает в Firefox, если href указывает на удаленный сайт. Так, например, один не работает на Firefox 41.0.2.

такой

<a href="www.yoursite.com/theThingYouWantToDownload">Link name</a>

Итак, имя файла.jpg на сайте example.com будет выглядеть так

<a href="www.example.com/name.jpg">Image</a>

Я знаю, что опоздал, но это то, что я получил после 1 часа поиска

 <?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); }
    }

    ?>

и для загружаемой ссылки я сделал это

<a href="index.php?file=file.pdf">Download PDF</a>