Показать Телефон

Opensource: Waffles — библиотека загрузки файлов для Elixir

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

Waffles обеспечивает простую интеграцию с такими сервисами хранения, как Amazon S3, Google Cloud Storage, Azure, RackSpace Cloud, а также с инструментами для работы с изображениями, например, ImageMagick, так что загружаемые файлы могут быть оптимизированы на лету!

Вы работаете над Elixir-проектами, которые должны обрабатывать загрузку файлов от пользователей?

Waffle — это удобная библиотека, разработанная одним из наших инженеров — Борисом Кузнецовым — которая обрабатывает загрузку файлов для вас, обеспечивая при этом простую интеграцию с такими сервисами хранения, как Amazon S3, Google Cloud Storage, Azure, RackSpace Cloud, а также с инструментами для работы с изображениями, например, ImageMagick, так что загружаемые файлы могут быть оптимизированы на лету!

Waffle вырос из форка уже неподдерживаемой библиотеки, в которую мы добавили полную документацию, исправили нерешённые проблемы, смёрджили открытые запросы, добавили интеграции с другими частями экосистемы Elixir (в частности, с Phoenix и Ecto). Мы также поработали над новыми функциями, такими как валидация файлов на основе содержимого, а не типа, предоставляемого браузером.

Это релиз Waffle — v1.0.0. Если вы ранее использовали Arc, то переход к Waffle будет очень прост, но нужно обратить внимание, что зависимости были обновлены, и Poison был заменен на Jason.

Провайдеры хранилищ.

Waffle по умолчанию поставляется с интеграциями для записи загрузок в путь к файловой системе (Waffle.Storage.Local) и в Amazon S3 (Waffle.Storage.S3), но есть дополнительные провайдеры хранилищ, поддерживаемые сообществом, которые вы можете легко добавить в свой проект: Google Cloud Storage, Rackspace, Manta, OVH и Microsoft Azure Storage.

Waffle + Ecto.

Waffle поставляется с сопутствующим пакетом для использования с Ecto, инструментарием Elixir для взаимодействия с хранилищами данных, обеспечивающим интеграцию наборов изменений и версионные URL-адреса для очистки кэша. Вы можете включить это, добавив waffle_ecto зависимость в ваш файл mix.exs

Репозиторий решения с открытым исходным кодом на Github.

Читайте на сайте в русской или английской версии:

https://evrone.com/elixir

https://evrone.com/waffle-elixir-library