Решил описать самый простой способ создания ссылки на загрузку файлов, папок, документов с Гугл-Диска сразу на компьютер пользователя.
Все началось с того, что я написал несколько полезных расширений для браузера Google Chrome и решил ими поделиться с друзьями, но не тут то было! Просто так сделать ссылку для скачивания со своего диска Google Drive не получилось. Дело в том, что Гугл Диск предоставляет по ссылке только просмотр файлов, мне же хотелось, чтобы при нажатии на ссылку "Скачать" - происходила загрузка файлов, а на ссылку "Просмотр" - можно было посмотреть файлы на диске до загрузки.
Многим это может показаться излишеством, но это достаточно распространенное требование владельцев сайта - предоставление прямой загрузки файлов на компьютер пользователя прямо с облачного хранилища.
Добавление атрибута
Вот пример - создал папку на Диске, прошел -> "Включить доступ по ссылке" -> "Получить ссылку".
Для пробы я использовал Codepen. Здесь вы можете посмотреть, что получилось.
Если коротко, то создал обычную ссылку в которую добавил атрибут
При попытке скачать, произошло то, о чем я говорил выше. Предлагается сохранить файл в формате
См. фото ниже.
Помог поиск в Гугл. Оказывается. что все дело в ссылке. Предложенная ссылка была такая:
В принципе, на этом можно бы было и закончить этот пост. Потому что все что вам потребуется, это:
Решил написать простой скрипт, который бы производил все автоматически. И пошло и поехало. Потому что захотелось, чтобы стояла кнопка - "Copy", при нажатии на которую сразу бы копировался код ссылки в браузер. Потом решил, что нужно поставить кнопку очистки поля ввода - Reset, которая бы облегчала задачу многократного ввода.
Все это я описал в посте.
Ниже предлагаю воспользоваться модификатором ссылок для загрузки файлов с диска.
Код для модификации ссылки я применял очень простой:
Понятное дело, что к этому коду требуется соответствующая html разметка.
Подробнее об этом в посте Как сделать копирование поля в браузер и очистка поля ввода.
Удачи вам, друзья и пользуйтесь "Простыми советами" для того, чтобы сделать свою жизнь немного проще, легче и приятнее!
Все началось с того, что я написал несколько полезных расширений для браузера Google Chrome и решил ими поделиться с друзьями, но не тут то было! Просто так сделать ссылку для скачивания со своего диска Google Drive не получилось. Дело в том, что Гугл Диск предоставляет по ссылке только просмотр файлов, мне же хотелось, чтобы при нажатии на ссылку "Скачать" - происходила загрузка файлов, а на ссылку "Просмотр" - можно было посмотреть файлы на диске до загрузки.
Многим это может показаться излишеством, но это достаточно распространенное требование владельцев сайта - предоставление прямой загрузки файлов на компьютер пользователя прямо с облачного хранилища.
Добавление атрибута
download
непосредственно к ссылке не принесло ожидаемого результата. Файлы загружались, но не в zip-архиве, или в существующем формате, а только как некое подобие html-документа.Вот пример - создал папку на Диске, прошел -> "Включить доступ по ссылке" -> "Получить ссылку".
Для пробы я использовал Codepen. Здесь вы можете посмотреть, что получилось.
See the Pen загрузка папки by YaroslavW (@YaroslavW) on CodePen.
Если коротко, то создал обычную ссылку в которую добавил атрибут
download
. Путь к файлу - href
указал, тот, что получил с диска.При попытке скачать, произошло то, о чем я говорил выше. Предлагается сохранить файл в формате
.htm
См. фото ниже.
Помог поиск в Гугл. Оказывается. что все дело в ссылке. Предложенная ссылка была такая:
https://drive.google.com/open?id=103vuGWLfwofXNR4pdFm986lBhETCbjQL
А для ссылки загрузки требовалась вот такая:
https://drive.google.com/uc?export=download&confirm=no_antivirus&id=103vuGWLfwofXNR4pdFm986lBhETCbjQL
В принципе, на этом можно бы было и закончить этот пост. Потому что все что вам потребуется, это:
- Получить ссылку на вашу папку (или документ) на Google Drive
- Взять от нее (скопировать) идентификатор -
id=///
- Подставить в ссылку для загрузки (выделено красным)
Решил написать простой скрипт, который бы производил все автоматически. И пошло и поехало. Потому что захотелось, чтобы стояла кнопка - "Copy", при нажатии на которую сразу бы копировался код ссылки в браузер. Потом решил, что нужно поставить кнопку очистки поля ввода - Reset, которая бы облегчала задачу многократного ввода.
Все это я описал в посте.
Ниже предлагаю воспользоваться модификатором ссылок для загрузки файлов с диска.
Код для модификации ссылки я применял очень простой:
function getLink(){ var custom = document.getElementById('in').value; var output = document.getElementById('out'); var fl = custom.indexOf("id="); console.log(fl); var custPart = custom.substring(fl+3); console.log(custPart); var answer = "https://drive.google.com/uc?export=download&confirm=no_antivirus&id=" + custPart; output.value = answer; };
Понятное дело, что к этому коду требуется соответствующая html разметка.
Подробнее об этом в посте Как сделать копирование поля в браузер и очистка поля ввода.
Удачи вам, друзья и пользуйтесь "Простыми советами" для того, чтобы сделать свою жизнь немного проще, легче и приятнее!
Комментариев нет:
Отправить комментарий