Алиюн Опен Сторедж Сервис фор Пейперклип
Этот гем реализует поддержку Алиюн оупэн сторедж сервис (ОСС) для Пейперклипа.
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
являются допустимыми опциями.
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'
}
bundle exec rspec spec
.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )