Как создать ссылку для скачивания
Перейти к содержимому

Как создать ссылку для скачивания

  • автор:

Sorry, you have been blocked

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

Cloudflare Ray ID: 7a65be17ce8f68af • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare

Новая функция облачного хранилища: создание ссылок для загрузки файлов

storage-sharing

Итак, в нашем облачном хранилище появилась новая функция: создание ссылок для загрузки. Создав такую ссылку, вы можете отправить ее любому стороннему пользователю, чтобы он загрузил свои файлы к вам – совершенно бесплатно. Вовсе не обязательно даже, чтобы этот пользователь имел учетную запись в хранилище.

  • для предоставления любым пользователям доступа к вашему хранилищу: например, друзья смогут загружать для вас свои фотографии, аудио- и видеозаписи, коллеги и партнеры — различные рабочие материалы и т.п.
  • для загрузки пользовательского контента на сайты;
  • для упрощения обмена файлами между участниками тематических интернет-сообществ;
  • для быстрого сохранения резервных копий.

Предыстория

Недавно я участвовал в восхождении на Эльбрус. У всех участников группы, в том числе и у меня, были с собой фотоаппараты. Было сделано много интересных и красивых фотографий, и после похода встал вопрос: как сделать так, чтобы они были доступны всем участникам?

Кто-то предлагал загрузить все снимки ВКонтакте или на Facebook, кто-то — на Mail.Ru, кто-то — на другие файлообменники… Но все перечисленные сервисы нам не подходили: во-первых, на них имеются ограничения на размер загружаемых файлов; во-вторых, не все участники группы были на этих сервисах зарегистрированы.

Я предложил простое и удобное для всех решение: создал в облачном хранилище Selectel публичный контейнер, включил опцию листинга файлов. Затем создал ссылку, перейдя по которой каждый смог загрузить в контейнер собственные фотографии, а также скачать фотографии, сделанные другими участниками. При этом никому из участников группы не потребовалось заводить в хранилище учетную запись. Так была протестирована новая функция нашего облачного хранилища — создание ссылки для загрузки файлов сторонними пользователями. Мои товарищи по восхождению на Эльбрус оценили ее на «отлично».

Сегодня мы представляем эту функцию широкой аудитории. Надеемся, что все наши пользователи оценят ее по достоинству.

Создание ссылки

Рассмотрим на простейшем примере, как работает новая функция. Создадим специальный контейнер для загрузки файлов и назовем его, например, share. Затем откроем меню контейнера и выберем пункт «Ссылка на загрузку файлов»:

uploadlink-001

Откроется окно настроек ссылки:

  • выбрать тип ссылки;
  • ввести пояснительный текст для пользователей, которым вы отправляете ссылку для загрузки (пояснительный текст будет отображен в подзаголовке в верхней части страницы загрузки);
  • установить пароль на загрузку файлов;
  • установить ограничения на максимальный размер загружаемых в хранилище файлов;
  • ограничить срок действия ссылки, а также срок хранения загруженных файлов;
  • разрешить/запретить перезапись файла при загрузке в хранилище файлов с одинаковыми именами (если эта опция включена, то старый файл будет удален, а новый — сохранен; если отключена — старый файл удален не будет, а к имени нового файла будет добавлен дополнительный идентификатор).

Страница загрузки

Пользователь, получивший от вас ссылку и открывший ее в браузере, увидит следующую страницу:

На странице поддерживается одновременная параллельная загрузка трех файлов, и за счет этого процесс загрузки существенно ускоряется:

Если какие-либо файлы необходимо удалить, то это можно сделать в течение 10 минут после завершения загрузки.

Настройки ссылок

Типы ссылок

Как уже было сказано выше, при создании ссылки нужно выбрать ее тип. Мы предусмотрели несколько типов ссылок, адаптированных под различные варианты использования. Рассмотрим каждый тип ссылок более подробно.

Простая загрузка

Подходит для ситуаций, когда вам необходимо получить файлы от одного или нескольких пользователей. Файлы будут загружены в указанный контейнер или папку, и вы сможете получить доступ к ним как через веб-панель, так и другими способами.

Добавление времени загрузки в имя файла

При выборе этого варианта к имени загружаемого файла будут добавлены дата и время загрузки. Например, если вы загрузите файл myphoto.jpg, он будет сохранен как myphoto_20130830_12h43m53s.jpg.
Это может быть полезным при сохранении резервных копий, а также в случаях, когда доступ к ссылке для загрузку предоставлен большому количеству пользователей, и нужно исключить совпадения в именах загружаемых файлов.

Добавление уникального идентификатора в название файла

При выборе этого варианта к имени файла будет добавлен уникальный идентификатор. Например, файл myphoto.jpg после загрузки будет переименован в myphoto_cmrsm2ks.jpg.
Такой тип ссылки подходит при реализации загрузки пользовательского контента на сайты (в данном случае полезным будет также включить опцию игнорирования исходного названия файла): данное пользователем имя будет отклонено, а новое имя файла будет соответствовать его уникальному идентификатору.

Загрузка в уникальную папку

При выборе этого типа ссылки файлы во время каждого сеанса загрузки будут сохранятся в отдельную папку. Например, файл myphoto.jpg будет сохранен в папку с именем cmrsm2ks. Если вы после загрузки этого файла закроете страницу загрузки, а затем снова закроете ее и загрузите другие файлы, то они будут сохранены в другой папке, имя которой будет сгенерировано автоматически; для следующего сеанса загрузки будет также создана отдельная папка, и т.п.

Загрузка в папку по дате

Этот режим работы хорошо подходит для загрузки резервных копий. Загружаемые файлы будут сохраняться в папку с текущей датой в названии. Например, архив mysql.dump.bz2 после загрузки будет доступен как 2013-08-30/mysql.dump.bz2.

Загрузка в папку по часам

Этот режим в целом аналогичен предыдущему; единственное отличие заключается в том, что к имени папки помимо даты будет добавлено еще и время (час) загрузки. Архив mysql.dump.bz2 будет доступен как 2013-08-30_15/mysql.dump.bz2.

Загрузка с указанным именем

Этот тип ссылки больше подходит для использования через API для приложений или сайтов.
Ссылка будет действительна только для одной загрузки, а загруженный файл будет переименован по имени самой ссылки. Например, если ссылка имела вид xxx.selcdn.ru/container/you_photo.jpg, то после загрузки файл будет доступен в хранилище под именем you_photo.jpg, а ссылка перестанет действовать.

Временные ограничения

При создании ссылки для загрузки можно устанавливать временные ограничения:

uploadlink-004

Это очень гибкая и полезная опция. Она позволяет, во-первых, ограничить время действия самой ссылки. По истечении указанного вами срока сторонние пользователи не смогут загружать файлы в хранилище. Такая возможность может оказаться полезной в ситуациях, когда необходимо принимать документы от пользователей через Интернет к определенному сроку (например, при приеме заявок на конференции и конкурсы).

Во-вторых, с ее помощью можно устанавливать срок хранения загруженных файлов. Вы можете задать конкретный период времени, в течение которого будут храниться файлы от пользователя, получившего от вас ссылку для загрузки. По окончании этого периода все файлы будут автоматически удалены. Такая функциональность будет полезной, например, для организации загрузки и хранения резервных копий.

Дополнительные возможности

Для разработчиков

Управление ссылками может осуществляться через API и совместимо с Openstack Swift API. Используя библиотеки для работы с Openstack Swift API, вы можете легко создавать и настраивать ссылки для загрузки файлов в наше хранилище непосредственно из собственных приложений и сайтов.

С помощью ссылок для загрузки можно реализовать возможность загрузки контента со стороннего сайта в наше хранилище.
Вот простой пример:

Форма для загрузки файлов:

Для системных администраторов

Функция создания ссылок на загрузку может оказаться полезной для быстрой загрузки файлов с сервера в хранилище, а также для настройки резервного копирования.

Для загрузки файла нужно сначала создать в веб-панели ссылку, а после этого выполнить в консоли управления сервером следующую команду, используя утилиту curl:

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

Еще одна интересная возможность — многопоточная загрузка файлов из определенной папки; это будет гораздо быстрее, чем с помощью нашей утилиты supload:

Резервное копирование

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

Создание ссылок на загрузку резервных копий позволяет решить целый ряд проблем, которые раньше требовали значительных усилий.

Во-первых, это сортировка загруженных резервных копий по дате и времени. Чтобы все загруженные файлы автоматически сортировались или переименовывались в соответствии с датой и временем, достаточно просто создать ссылку соответствующего типа.

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

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

Послесловие

  • реализовать возможность генерации ссылок для скачивания загруженных в хранилище файлов;
  • создавать хэшированные пароли, что позволит не создавать каждый раз новую защищенную паролем ссылку при загрузке пользовательского контента с сайтов.

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

Как создать ссылку на скачивание файла в HTML?

На самом деле корректному скачиванию файлов не уделяют должного внимания. Казалось бы, простое сохранение документа – локально, на компьютере пользователя. Но неправильная настройка скачивания добавляет лишние и никому не нужные шаги. В такие моменты нужно позаботиться о юзабилити сайта.

Предположим, что ваш сайт посвящен обоям для рабочего стола компьютера. Понятное дело, что на странице изображение размером 1900×1900 пикселей вы не будете размещать в полном объеме, а разместите уменьшенную его копию с возможностью скачать полную версию изображения.

Как это делаю большинство сайтов?

Неплохо, но при нажатии на такую ссылку мы получаем:

1. Покинутую страницу сайта;

2. Дополнительное действие для пользователя, ведь ему просто открывается страница с изображением, где он должен совершить действия для сохранения изображения.

Как быть в таком случаем и исправить положение?

Все довольно просто. Вам необходимо добавить атрибут «download» к ссылкам, чтобы получилось:

В таком случае при нажатии на ссылку пользователю сразу будет предложено сохранить документ.

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

Как сделать прямую ссылку для скачивания файла

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

Это может быть, например, полный прайс на услуги и товары или список необходимых документов.

Файл для скачивания и ссылка на него создаётся через сервис Google Drive.

Как создать ссылку на файл для скачивания

1. Откройте Google Drive
Перейдите в сервис Google Диск по ссылке и войдите в свой аккаунт:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *