Top.Mail.Ru
Скачивание файла без ссылки - разработка и поддержка сайтов BUSSOL

Скачивание файла без ссылки



Автор:

Дата публикации:

Скачивание файла без ссылки

Допустим, на нашем сайте есть pdf-файл каталога товаров или услуг, открытый для скачивания по ссылке всем пользователям. Но хочется, чтобы пользователь оставил свои контактные данные перед тем как он скачает сайт. Например, при клике на кнопку "Скачать каталог", пользователю открывается форма, в которую он вводит свое имя, телефон, почту, если нужно. А по нажатию на кнопку "Отправить" происходит сначала отправка формы, а после сразу скачивание файла. Вот и возникает вопрос: как запустить скачивание файла автоматически после выполнения всех этих действий.

Не стану приводить в этой статье код отправки формы, а приведу пример кода скачивания файла, который следует после успешной отправки формы. Предположим, что на нашем сайте в папке upload находится файл каталога catalog.pdf. Тогда:


$.ajax({
    url: '/upload/catalog.pdf',
    dataType: 'binary',
    xhrFields: {
	'responseType': 'blob'
    },
    success: function(data, status, xhr) {
        var blob = new Blob([data], {type: xhr.getResponseHeader('Content-Type')});
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = 'catalog.pdf';
        link.click();
    }
});

Здесь в параметре url указываем относительный путь до файла, в ответе сервера, в параметре download указываем имя, которое присвоится скачанному файлу.

241519, Россия, Брянская область, поселок Путевка, улица Рослальская, дом 8, кв.121
Телефон: +7 (953) 271 62 24

Допустим, на нашем сайте есть pdf-файл каталога товаров или услуг, открытый для скачивания по ссылке всем пользователям. Но хочется, чтобы пользователь оставил свои контактные данные перед тем как он скачает сайт. Например, при клике на кнопку "Скачать каталог", пользователю открывается форма, в которую он вводит свое имя, телефон, почту, если нужно. А по нажатию на кнопку "Отправить" происходит сначала отправка формы, а после сразу скачивание файла. Вот и возникает вопрос: как запустить скачивание файла автоматически после выполнения всех этих действий.

Не стану приводить в этой статье код отправки формы, а приведу пример кода скачивания файла, который следует после успешной отправки формы. Предположим, что на нашем сайте в папке upload находится файл каталога catalog.pdf. Тогда:


$.ajax({
    url: '/upload/catalog.pdf',
    dataType: 'binary',
    xhrFields: {
	'responseType': 'blob'
    },
    success: function(data, status, xhr) {
        var blob = new Blob([data], {type: xhr.getResponseHeader('Content-Type')});
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = 'catalog.pdf';
        link.click();
    }
});

Здесь в параметре url указываем относительный путь до файла, в ответе сервера, в параметре download указываем имя, которое присвоится скачанному файлу.


Другие статьи:  Установки превью-картинки всем элементам определенной категории инфоблока на Bitrix API / Перехват почтового события в Битрикс и запись данных в логи / Уведомление о файлах Cookie на Битрикс

Похожие статьи

Интеграция «1С-Битрикс: Управление сайтом» и «1С:Предприятие»
Интеграция сайта с системами «1С:Предприятие» необходима любому бизнесу, который работает с клиентами онлайн. Без неё интернет-магазин просто не может быть конкурентоспособным – обработка заказа будет занимать больше времени, чем клиент может позволить.
Заменят ли нейросети людей?
Вот уже прошло 3 года с того момента как начался хайп нейросетей. С самого начала этого хайпа все, кому не лень, пророчили тысячам людей потерю работы, из-за того, что их заменят нейросети. Однако я за три года не увидел и не познакомился ни с одним человеком, который был бы заменен нейросетью.
Добавление товара в избранное на ajax в Битрикс
Добавление товара или статьи в избранное - это обязательная фишка для интернет-магазина или блога. Однако, в Битрикс по умолчанию нет функционала добавления элемента инфоблока в избранное.
Адаптивное ютуб видео на сайте
В этом уроке я покажу вам один из способов адаптировать видео, размещенное на сайте с помощью тега iframe, например, видео с хостинга Ютуб.