TransWikia.com

Создание кнопки для скачивания документа

Stack Overflow на русском Asked by SvArt713 on December 26, 2021

Подскажите скрипт, чтобы при клике на кнопку предлагалось скачивание файла (при подтверждении скачивался файл) ?
вот пример кнопки:

<button type='submit' class='wow fadeInRight' data-wow-delay='2s'>/

И вот, например, название файла:
kolbasa-primer.xlsx

2 Answers

Самый просто способ - использовать прямую ссылку на файл:

<a href="http://example.com/kolbasa-primer.xlsx" target="_blank">Скачать</a>

Кроме того, используя HTML5, можно указать аттрибут download:

<a href="http://example.com/kolbasa-primer.xlsx" download>Скачать</a>

И, наконец, пример скрипта для скачивания файла:

HTML:

<a href="download.php">Скачать</a>

download.php

$file = '<путь к файлу>';

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");

readfile($file);

Answered by Andrei Katalkin on December 26, 2021

Использовать preventDefault() в случаи, если к примеру, был отменён confirm().

    var links = document.querySelectorAll('.file');
    // Вешаем обработчик "click" на все элементы с классом file
    for (var i = 0; i < links.length; i++) {
        links[i].addEventListener('click', function(e) {
            // Отменяем событие (преход по ссылке или submit) если "Отмена"
            if (!confirm('Точно будем качать?')) {
                e.preventDefault();
            }
        }, false);
    }
<a class="file" href="file.pdf">Скачать файл 1</a>
<a class="file" href="file.doc">Скачать файл 2</a>
<hr>
<form action="/" method="post">
    <button class='wow fadeInRight file' data-wow-delay='2s' type='submit'>Скачать</button>
</form>

confirm() само собой можно заменить на то, что требуется (модальное окно например)

Answered by Alexander Igorevich on December 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP