1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/muzik-paperclip-storage-aliyun

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Алиюн Опен Сторедж Сервис фор Пейперклип

Этот гем реализует поддержку Алиюн оупэн сторедж сервис (ОСС) для Пейперклипа.

Установка

gem install paperclip-storage-aliyun

Или, если вы используете bundler, вы можете добавить следующую строку в ваш Gemfile:

gem 'paperclip-storage-aliyun'

Конфигурация

Чтобы всё работало, вам нужно выполнить некоторые важные настройки через инициализатор:

Если вы разрабатываете приложение на Rails, вы можете создать новый инициализатор, например:

# [rails_root]/config/initializers/paperclip-aliyun-configuration.rb
Paperclip::Attachment.default_options[:aliyun] = {
  access_id: '3VL9XMho8iCushj8',
  access_key: 'VAUI2q7Tc6yTh1jr3kBsEUzZ84gEa2',
  bucket: 'xx-test',
  data_center: 'cn-hangzhou',
  internal: false,
  protocol: 'https',
  protocol_relative_url: false
}

Затем в модели, которая определяет вложение, укажите ваше хранилище и другие опции, например:

# [rails_root]/app/models/image.rb
class Image < ActiveRecord::Base
  has_attached_file :attachment, {
    storage: :aliyun,
    styles: { thumbnail: "60x60#"},
    path: 'public/system/:class/:attachment/:id_partition/:style/:filename',
    url: ':aliyun_upload_url'
  }
end

Как и Paperclip::Storage::S3, сейчас есть четыре опции для url:

  • :aliyun_upload_url — url на основе опций, которые вы указали;
  • :aliyun_internal_url — внутренний url, независимо от options[:aliyun][:internal];
  • :aliyun_external_url — внешний url, независимо от options[:aliyun][:internal];
  • :aliyun_alias_url — URL-адрес псевдонима на основе host_alias, который вы указываете, обычно используется вместе с CDN.

Обратите внимание, что значения выше — это все строки, а не символы. Вы всё равно можете сделать свой собственный URL, если знаете, что делаете.

Датацентры

Список доступных регионов можно найти по адресу https://intl.aliyun.com/help/doc-detail/31837.htm. Вы можете использовать значение столбца «Region Expression» как оно есть для центра обработки данных или удалить префикс «oss-». Например: oss-cn-hangzhou и cn-hangzhou являются допустимыми опциями.

Тест

  1. Обновите настройки подключения в spec/spec_helper.rb:
# Aliyun defaults
OSS_CONNECTION_OPTIONS = {
  access_id: 'your_access_key_id',
  access_key: 'your_access_key_secret',
  bucket: 'your_bucket',
  data_center: 'your_data_center',
  internal: false,
  protocol: 'https'
}
  1. Запустите bundle exec rspec spec.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Алиюн Оупэн Сторедж Сервис фор Пейперклип. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/muzik-paperclip-storage-aliyun.git
git@api.gitlife.ru:oschina-mirror/muzik-paperclip-storage-aliyun.git
oschina-mirror
muzik-paperclip-storage-aliyun
muzik-paperclip-storage-aliyun
master