Ссылка для скачивания
Иногда передо мной стоит задача сделать ссылку, которая должна открывать системный диалог для сохранения файла. Браузеры достаточно умны, чтобы открывать такой диалог при скачивании бинарников вроде архивов или EXE-файлов. Но что делать, если я хочу скачивать картинки или какие-нибудь видео? Именно скачивать, не открывать для просмотра.
Заголовок Content-Disposition Скопировать ссылку
Самый правильный способ попросить браузер скачать файл — добавить на стороне сервера заголовок Content-Disposition к потоку с файлом.
Content-Disposition: attachment; filename=kitten.jpg
Когда браузер видит у заголовка значение attachment , то пытается скачать файл.
Но иногда у вас просто нет возможности настроить сервер под свои нужды и добавить ещё один mod_rewrite . Нужен какой-то более браузерный способ решить задачу.
Атрибут download Скопировать ссылку
Самый простой способ — добавить атрибут download к ссылке.
Если вы добавите его просто так, без значения, браузер постарается получить имя файла либо из заголовка Content-Disposition (опять он, и у него довольно высокий приоритет), либо из пути файла.
Но вы можете задать значение атрибуту download , и тогда это значение станет именем скачиваемого файла. Это может быть полезно, если у ваших файлов какие-нибудь странные автогенерируемые урлы вроде https://cdn/images/a1H5-st42-Av1f-rUles .
Важно! Вся эта магия атрибутов не для ссылок с других доменов (cross-origin). Вы не можете управлять чужими ресурсами из соображений безопасности.
И помните, что IE и старые Safari не понимают атрибут download . Проверьте в Can I use….
blob: и data: Скопировать ссылку
Полезный лайфхак, чтобы помочь вашим пользователям сохранять картинки котиков в удобном для них формате. Если вы на своём сайте используете картинки в форматах AVIF или WebP, есть очень высокая вероятность, что ни один пользователь не сможет сохранить их к себе на компьютер или смартфон, чтобы потом пересмотреть. Точнее, сохранить-то смогут, а вот посмотреть вне браузера не смогут. Печаль.
Чтобы помочь пользователям, используйте data: или blob: внутри атрибута href .
Шаг 1. Нарисуйте картинку на Canvas Скопировать ссылку
const canvas = document.getElementById('canvas'); const context = canvas.getContext('2d'); const image = new Image(); image.onload = function () < context.drawImage(image, 0, 0); // TODO: всю магию намазывать сюда >; image.src = 'kitten-170.avif';
Шаг 2а. Сохранить картинку как блоб в атрибут href ссылки Скопировать ссылку
const blobLink = document.getElementById('blob-link'); canvas.toBlob(blob => < const blobUrl = URL.createObjectURL(blob); blobLink.href = blobUrl; >, 'image/jpeg', 0.9);
Да-да, я могу сохранить AVIF как JPEG. Классно, правда? Пользователь скачал всего 4 КБ AVIF с сервера, а получил 13 КБ JPEG на клиенте!
Шаг 2б. Сохранить картинку как data в атрибут href ссылки. Скопировать ссылку
Некоторые браузеры не умеют работать с блобами, поэтому вы можете помочь им при помощи data-урлов.
const dataLink = document.getElementById('data-link'); dataLink.href = canvas.toDataURL('image/jpeg', 0.9);
Так даже проще, но такой подход хуже по производительности.
Можете поиграть с полным демо тут:
Источники Скопировать ссылку
- Wiki: Content-Disposition
- MDN: The Anchor element
- MDN: canvas.toDataURL
- MDN: canvas.toBlob
Скачать файл по ссылке из Облака Mail.ru
Если вам прислали ссылку на файл в Облаке Mail.ru, вы можете скачать файл на устройство или сохранить его в своё Облако Mail.ru.
Вы сможете скачать файл по ссылке без авторизации в Облаке Mail.ru, только если у отправителя подключена подписка Mail Space. Если без авторизации скачать файл не получилось, войдите в Облако Mail.ru. Если у вас нет аккаунта в Облаке, создайте его.
Если хотите, скачать файл на устройство, нажмите наверху экрана. Файл сохранится в папку «Загрузки» или Downloads на вашем устройстве.
Если хотите сохранить файл в cвоё Облако Mail.ru, нажмите наверху экрана. Выберите в Облаке папку, в которую хотите сохранить файл, и нажмите «Сохранить».
Если файл не прошёл проверку на вирусы антивирусом Касперского, сохранить его к себе в Облако невозможно.
Автоскачивание файла по ссылке
Мне нужно создать ссылку на файл, при переходе по которой файл автоматически сохраняется на устройство пользователя (android) могу использовать любые бесплатные сервисы. Или что-то подобное: как скачивать файлы с яндекс диска, написанное на java
Отслеживать
задан 31 мая 2020 в 20:09
99 7 7 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Воспользуйтесь этим сервисом чтобы сделать прямую ссылку на скачивание файла: https://www.magentawave.com/2013/09/get-direct-link-on-file.html?m=1

А если надо сгенерировать такую ссылку то для каждого облачного сервиса она будет отличаться. Для примера как сгенерировать прямую ссылку на Google drive
Отслеживать
ответ дан 1 июн 2020 в 23:34
901 4 4 серебряных знака 12 12 бронзовых знаков
Большое спасибо!
3 июн 2020 в 14:03
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
- java
- android
Как скачать файл по ссылке
В связи с переходом на новый движок. возможны сбои в работе! Простите!
Работы производятся прямо сейчас 11-03-2024!
Скачать файл по ссылке онлайн
С самого начала мы можем протестировать форму со скриптом! Вставьте ссылку, по которой вы хотите скачать файл и нажмите кнопку «Показать ссылку»
Если нет подходящей ссылки для тестирования формы, скопируйте вот эту :
Как скачивать ссылку онлайн скрипт — подробный разбор:
Для того, чтобы написать рабочий код скачивания ссылки онлайн нам понадобится:
Далее нам потребуется тег ссылки
input для вставки адреса файла, который надо скачать.
Кнопку, button — по которой будем нажимать.
Далее нам понадобится js + отправим в атрибут href из поля для ввода ссылки.
И откроем ссылку, чтобы нажать по ней!
Соберем весь код вместе:
Скачать разные типы файлов по ссылке.
Несколько поисковых запросов про скачивание фалов по ссылке. например
как скачать xml файл по ссылке
скачать пдф файл по ссылке
Чем отличается скачивание определенного типа файла по ссылке?
Для того, чтобы скачать файл с разрешением «xml» или «пдф». выше приведенной
Форме абсолютно все равно !
Какое разрешение у вашего файла.
Данная форма может скачать любой файл онлайн с любого сайта!
Есть несколько исключений!
Файл должен существовать!
Скачивание должно быть разрешено(запрет может быть организован разными способами!).
Скачать файл с Google диска по ссылке
Для того, чтобы скачать файл с Google диска по ссылке нам потребуется:
Создадим ссылку на любой документ, чтобы вы смогли убедиться, что данный файл существует!
Далее нажимаем ссылку и проходим на страницу диска:
В открытом окне ссылки Google диска ищем кнопку скачать! Нажимаем!
Нажмите, чтобы открыть в новом окне.

Почему возникает вопрос — «скачать файл с Google диска по ссылке»
Мое предположение : скорее всего человек видит » НЕ » активную ссылку и не знает, что нужно с ней делать?
https://drive.google.com/file/d/18iPB-OwfHMjYBdjHDgZyQiRO_RzbfFhZ
Это решается до банальности просто! Выделяем полностью ссылку.
Нажимаем ПКМ по выделенному элементу.
Ищем строку перейти :

Скачать файл с яндекс диска по ссылке
Для Яндекс диска все абсолютно аналогично выше рассказанному пункту!
Либо это будет не активная ссылка
https://disk.yandex.ru/i/POU_twO6b0zpOw
Нажмите, чтобы открыть в новом окне.

Помочь проекту DwWeb.ru
Поделиться ссылкой! C друзьями или врагами!
Этим вы очень поможете проекту! Заранее огромное спасибо!
Ещё : dwweb.ru есть здесь:

Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru!
© 2015 — 2024 Контакты. Реклама на сайте
Лучший хостинг : RUWEB + помощь по RUWEB